|
11 | 11 |
|
12 | 12 | use Dotpay\Fake\FakeResponseBag; |
13 | 13 | use Dotpay\Response\ResponseFormType; |
| 14 | +use Psr\Http\Server\RequestHandlerInterface; |
| 15 | +use Symfony\Bridge\PsrHttpMessage\Factory\DiactorosFactory; |
14 | 16 | use Symfony\Bridge\Twig\Extension\FormExtension; |
15 | 17 | use Symfony\Bridge\Twig\Extension\TranslationExtension; |
16 | 18 | use Symfony\Bridge\Twig\Form\TwigRendererEngine; |
|
19 | 21 | use Symfony\Component\Form\FormRenderer; |
20 | 22 | use Symfony\Component\Form\Forms; |
21 | 23 | use Symfony\Component\HttpFoundation\Request; |
| 24 | +use Symfony\Component\HttpFoundation\Response; |
22 | 25 | use Symfony\Component\HttpFoundation\Session\Session; |
23 | 26 | use Symfony\Component\Security\Csrf\CsrfTokenManager; |
24 | 27 | use Symfony\Component\Security\Csrf\TokenGenerator\UriSafeTokenGenerator; |
|
33 | 36 | $_POST |
34 | 37 | ); |
35 | 38 |
|
| 39 | +$request = new Request( |
| 40 | + $_GET, |
| 41 | + (array) new FakeResponseBag() |
| 42 | +); |
| 43 | + |
36 | 44 | $request = Request::createFromGlobals(); |
| 45 | +$psr7Factory = new DiactorosFactory(); |
| 46 | +$psrRequest = $psr7Factory->createRequest($request); |
| 47 | + |
| 48 | +class ErrorCodeHandler implements RequestHandlerInterface |
| 49 | +{ |
| 50 | + /** |
| 51 | + * @param \Psr\Http\Message\ServerRequestInterface $request |
| 52 | + * |
| 53 | + * @return \Psr\Http\Message\ResponseInterface |
| 54 | + */ |
| 55 | + public function handle(\Psr\Http\Message\ServerRequestInterface $request): \Psr\Http\Message\ResponseInterface |
| 56 | + { |
| 57 | + $errorCode = $request->getQueryParams()['error_code']; |
| 58 | + |
| 59 | + printf( |
| 60 | + 'Error code was recived %s', |
| 61 | + $errorCode |
| 62 | + ); |
| 63 | + |
| 64 | + $symfonyResponse = new Response(sprintf('Error code %s', $errorCode)); |
| 65 | + $psr7Factory = new DiactorosFactory(); |
| 66 | + $psrResponse = $psr7Factory->createResponse($symfonyResponse); |
| 67 | + |
| 68 | + return $psrResponse; |
| 69 | + } |
| 70 | +} |
| 71 | + |
| 72 | +class URLCHandler implements RequestHandlerInterface |
| 73 | +{ |
| 74 | + /** |
| 75 | + * @param \Psr\Http\Message\ServerRequestInterface $request |
| 76 | + * |
| 77 | + * @return \Psr\Http\Message\ResponseInterface |
| 78 | + */ |
| 79 | + public function handle(\Psr\Http\Message\ServerRequestInterface $request): \Psr\Http\Message\ResponseInterface |
| 80 | + { |
| 81 | + echo 'URLC Handler'; |
| 82 | + $symfonyResponse = new Response(); |
| 83 | + $psr7Factory = new DiactorosFactory(); |
| 84 | + $psrResponse = $psr7Factory->createResponse($symfonyResponse); |
| 85 | + |
| 86 | + return $psrResponse; |
| 87 | + } |
| 88 | +} |
37 | 89 |
|
38 | | -if ($request->get('completed')) { |
39 | | - exit('Transaction was completed'); |
| 90 | +try { |
| 91 | +// $errorState = new \Dotpay\Server\ErrorCode(new InstanceOfErrorCodeHabdker); |
| 92 | +// $errorState->process($psrRequest, new ErrorCodeHandler); |
| 93 | +// |
| 94 | + |
| 95 | + $urlcHandler = new URLCHandler(); |
| 96 | + $urlc = new \Dotpay\Server\URLC('Np3n4QmXxp6MOTrLCVs905fdrGf3QIGm'); |
| 97 | + $urlc->process($psrRequest, $urlcHandler); |
| 98 | +} catch (Throwable $e) { |
| 99 | + echo <<<EXCEPTION |
| 100 | + <h1>Exception thrown<h1> |
| 101 | + <h3>Exception message: {$e->getMessage()}</h3> |
| 102 | + <pre>${e}</pre> |
| 103 | + throw ${e}; |
| 104 | +EXCEPTION; |
| 105 | +} finally { |
| 106 | + echo <<<'finally' |
| 107 | + <h5>Response was handled by the server</h5> |
| 108 | +finally; |
40 | 109 | } |
41 | 110 |
|
| 111 | +exit(); |
| 112 | + |
42 | 113 | $session = new Session(); |
43 | 114 | $csrfGenerator = new UriSafeTokenGenerator(); |
44 | 115 | $csrfStorage = new SessionTokenStorage($session); |
|
0 commit comments