Symfony\Bridge\PsrHttpMessage\Factory\DiactorosFactory::createResponse PHP Méthode

createResponse() public méthode

public createResponse ( Response $symfonyResponse )
$symfonyResponse Symfony\Component\HttpFoundation\Response
    public function createResponse(Response $symfonyResponse)
    {
        if ($symfonyResponse instanceof BinaryFileResponse) {
            $stream = new DiactorosStream($symfonyResponse->getFile()->getPathname(), 'r');
        } else {
            $stream = new DiactorosStream('php://temp', 'wb+');
            if ($symfonyResponse instanceof StreamedResponse) {
                ob_start(function ($buffer) use($stream) {
                    $stream->write($buffer);
                    return false;
                });
                $symfonyResponse->sendContent();
                ob_end_clean();
            } else {
                $stream->write($symfonyResponse->getContent());
            }
        }
        $headers = $symfonyResponse->headers->all();
        $cookies = $symfonyResponse->headers->getCookies();
        if (!empty($cookies)) {
            $headers['Set-Cookie'] = array();
            foreach ($cookies as $cookie) {
                $headers['Set-Cookie'][] = $cookie->__toString();
            }
        }
        $response = new DiactorosResponse($stream, $symfonyResponse->getStatusCode(), $headers);
        $protocolVersion = $symfonyResponse->getProtocolVersion();
        if ('1.1' !== $protocolVersion) {
            $response = $response->withProtocolVersion($protocolVersion);
        }
        return $response;
    }

Usage Example

 public function testValidRequestShouldBeHandledByTheNextMiddleware()
 {
     $content = '{"content": "This is the content"}';
     $request = Request::create('http://localhost/', 'GET', [], [], [], [], $content);
     $request->headers->set('X-Hub-Signature', sprintf('sha1=%s', hash_hmac('sha1', $content, 'my_secret')));
     $psrFactory = new DiactorosFactory();
     $foundationFactory = new HttpFoundationFactory();
     $psrRequest = $psrFactory->createRequest($request);
     $expectedRequest = $foundationFactory->createRequest($psrRequest);
     $response = new Response('OK');
     $expectedResponse = $foundationFactory->createResponse($psrFactory->createResponse($response));
     $next = $this->prophesize('Symfony\\Component\\HttpKernel\\HttpKernelInterface');
     $next->handle($expectedRequest)->shouldBeCalledTimes(1)->willReturn($response);
     $middleware = new GitHubWebHook($next->reveal(), 'my_secret');
     $response = $middleware->handle($request);
     $this->assertEquals($expectedResponse, $response);
 }
All Usage Examples Of Symfony\Bridge\PsrHttpMessage\Factory\DiactorosFactory::createResponse