PsrResponseListener.php
Namespace
Symfony\Bridge\PsrHttpMessage\EventListenerFile
-
vendor/
symfony/ psr-http-message-bridge/ EventListener/ PsrResponseListener.php
View source
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Bridge\PsrHttpMessage\EventListener;
use Psr\Http\Message\ResponseInterface;
use Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory;
use Symfony\Bridge\PsrHttpMessage\HttpFoundationFactoryInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\ViewEvent;
use Symfony\Component\HttpKernel\KernelEvents;
/**
* Converts PSR-7 Response to HttpFoundation Response using the bridge.
*
* @author Kévin Dunglas <dunglas@gmail.com>
* @author Alexander M. Turek <me@derrabus.de>
*/
final class PsrResponseListener implements EventSubscriberInterface {
private readonly HttpFoundationFactoryInterface $httpFoundationFactory;
public function __construct(?HttpFoundationFactoryInterface $httpFoundationFactory = null) {
$this->httpFoundationFactory = $httpFoundationFactory ?? new HttpFoundationFactory();
}
/**
* Do the conversion if applicable and update the response of the event.
*/
public function onKernelView(ViewEvent $event) : void {
$controllerResult = $event->getControllerResult();
if (!$controllerResult instanceof ResponseInterface) {
return;
}
$event->setResponse($this->httpFoundationFactory
->createResponse($controllerResult));
}
public static function getSubscribedEvents() : array {
return [
KernelEvents::VIEW => 'onKernelView',
];
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
PsrResponseListener | Converts PSR-7 Response to HttpFoundation Response using the bridge. |