Skip to content

[HttpKernel] remove all deprecated event and replace their use #31918

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions UPGRADE-5.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,7 @@ HttpKernel
* Removed `PostResponseEvent`, use `TerminateEvent` instead
* Removed `TranslatorListener` in favor of `LocaleAwareListener`
* The `DebugHandlersListener` class has been made `final`
* Removed `SaveSessionListener` in favor of `AbstractSessionListener`

Intl
----
Expand Down
6 changes: 3 additions & 3 deletions src/Symfony/Bridge/Monolog/Handler/ChromePhpHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@

use Monolog\Handler\ChromePHPHandler as BaseChromePhpHandler;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
use Symfony\Component\HttpKernel\Event\ResponseEvent;

/**
* ChromePhpHandler.
*
* @author Christophe Coevoet <stof@notk.org>
*
* @final since Symfony 4.3
* @final
*/
class ChromePhpHandler extends BaseChromePhpHandler
{
Expand All @@ -34,7 +34,7 @@ class ChromePhpHandler extends BaseChromePhpHandler
/**
* Adds the headers to the response once it's created.
*/
public function onKernelResponse(FilterResponseEvent $event)
public function onKernelResponse(ResponseEvent $event)
{
if (!$event->isMasterRequest()) {
return;
Expand Down
6 changes: 3 additions & 3 deletions src/Symfony/Bridge/Monolog/Handler/FirePHPHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@

use Monolog\Handler\FirePHPHandler as BaseFirePHPHandler;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
use Symfony\Component\HttpKernel\Event\ResponseEvent;

/**
* FirePHPHandler.
*
* @author Jordi Boggiano <j.boggiano@seld.be>
*
* @final since Symfony 4.3
* @final
*/
class FirePHPHandler extends BaseFirePHPHandler
{
Expand All @@ -34,7 +34,7 @@ class FirePHPHandler extends BaseFirePHPHandler
/**
* Adds the headers to the response once it's created.
*/
public function onKernelResponse(FilterResponseEvent $event)
public function onKernelResponse(ResponseEvent $event)
{
if (!$event->isMasterRequest()) {
return;
Expand Down
6 changes: 3 additions & 3 deletions src/Symfony/Bridge/Monolog/Handler/SwiftMailerHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@

use Monolog\Handler\SwiftMailerHandler as BaseSwiftMailerHandler;
use Symfony\Component\Console\Event\ConsoleTerminateEvent;
use Symfony\Component\HttpKernel\Event\PostResponseEvent;
use Symfony\Component\HttpKernel\Event\TerminateEvent;

/**
* Extended SwiftMailerHandler that flushes mail queue if necessary.
*
* @author Philipp Kräutli <pkraeutli@astina.ch>
*
* @final since Symfony 4.3
* @final
*/
class SwiftMailerHandler extends BaseSwiftMailerHandler
{
Expand All @@ -36,7 +36,7 @@ public function setTransport(\Swift_Transport $transport)
/**
* After the kernel has been terminated we will always flush messages.
*/
public function onKernelTerminate(PostResponseEvent $event)
public function onKernelTerminate(TerminateEvent $event)
{
$this->instantFlush = true;
}
Expand Down
6 changes: 3 additions & 3 deletions src/Symfony/Bridge/Monolog/Processor/RouteProcessor.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\FinishRequestEvent;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\HttpKernel\Event\RequestEvent;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Contracts\Service\ResetInterface;

Expand All @@ -22,7 +22,7 @@
*
* @author Piotr Stankowski <git@trakos.pl>
*
* @final since Symfony 4.4
* @final
*/
class RouteProcessor implements EventSubscriberInterface, ResetInterface
{
Expand All @@ -49,7 +49,7 @@ public function reset()
$this->routeData = [];
}

public function addRouteData(GetResponseEvent $event)
public function addRouteData(RequestEvent $event)
{
if ($event->isMasterRequest()) {
$this->reset();
Expand Down
6 changes: 3 additions & 3 deletions src/Symfony/Bridge/Monolog/Processor/WebProcessor.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@

use Monolog\Processor\WebProcessor as BaseWebProcessor;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\HttpKernel\Event\ResponseEvent;
use Symfony\Component\HttpKernel\KernelEvents;

/**
* WebProcessor override to read from the HttpFoundation's Request.
*
* @author Jordi Boggiano <j.boggiano@seld.be>
*
* @final since Symfony 4.3
* @final
*/
class WebProcessor extends BaseWebProcessor implements EventSubscriberInterface
{
Expand All @@ -31,7 +31,7 @@ public function __construct(array $extraFields = null)
parent::__construct([], $extraFields);
}

public function onKernelRequest(GetResponseEvent $event)
public function onKernelRequest(ResponseEvent $event)
{
if ($event->isMasterRequest()) {
$this->serverData = $event->getRequest()->server->all();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
use Symfony\Component\HttpFoundation\ParameterBag;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Event\FinishRequestEvent;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\HttpKernel\Event\RequestEvent;

class RouteProcessorTest extends TestCase
{
Expand Down Expand Up @@ -122,9 +122,9 @@ public function testProcessorDoesNothingWhenNoRequest()
$this->assertEquals(['extra' => []], $record);
}

private function mockGetResponseEvent(Request $request): GetResponseEvent
private function mockGetResponseEvent(Request $request): RequestEvent
{
$event = $this->getMockBuilder(GetResponseEvent::class)->disableOriginalConstructor()->getMock();
$event = $this->getMockBuilder(RequestEvent::class)->disableOriginalConstructor()->getMock();
$event->method('getRequest')->willReturn($request);

return $event;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
use PHPUnit\Framework\TestCase;
use Symfony\Bridge\Monolog\Processor\WebProcessor;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Event\RequestEvent;
use Symfony\Component\HttpKernel\Event\ResponseEvent;

class WebProcessorTest extends TestCase
{
Expand Down Expand Up @@ -88,7 +88,7 @@ private function createRequestEvent($additionalServerParameters = []): array
$request->server->replace($server);
$request->headers->replace($server);

$event = $this->getMockBuilder(RequestEvent::class)
$event = $this->getMockBuilder(ResponseEvent::class)
->disableOriginalConstructor()
->getMock();
$event->expects($this->any())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Event\RequestEvent;
use Symfony\Component\HttpKernel\Event\ExceptionEvent;
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\Routing\RouteCollectionBuilder;
Expand All @@ -30,7 +30,7 @@ class ConcreteMicroKernel extends Kernel implements EventSubscriberInterface

private $cacheDir;

public function onKernelException(RequestEvent $event)
public function onKernelException(ExceptionEvent $event)
{
if ($event->getException() instanceof Danger) {
$event->setResponse(Response::create('It\'s dangerous to go alone. Take this ⚔'));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@
namespace Symfony\Bundle\SecurityBundle\EventListener;

use Symfony\Bundle\SecurityBundle\Security\FirewallMap;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\HttpKernel\Event\FinishRequestEvent;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\HttpKernel\Event\RequestEvent;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\Security\Http\Firewall;
use Symfony\Component\Security\Http\FirewallMapInterface;
use Symfony\Component\Security\Http\Logout\LogoutUrlGenerator;
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;

/**
* @author Maxime Steinhausser <maxime.steinhausser@gmail.com>
Expand All @@ -30,18 +30,13 @@ class FirewallListener extends Firewall

public function __construct(FirewallMapInterface $map, EventDispatcherInterface $dispatcher, LogoutUrlGenerator $logoutUrlGenerator)
{
// the type-hint will be updated to the "EventDispatcherInterface" from symfony/contracts in 5.0

$this->map = $map;
$this->logoutUrlGenerator = $logoutUrlGenerator;

parent::__construct($map, $dispatcher);
}

/**
* @internal
*/
public function configureLogoutUrlGenerator(GetResponseEvent $event)
public function onKernelRequest(RequestEvent $event)
{
if (!$event->isMasterRequest()) {
return;
Expand All @@ -50,11 +45,10 @@ public function configureLogoutUrlGenerator(GetResponseEvent $event)
if ($this->map instanceof FirewallMap && $config = $this->map->getFirewallConfig($event->getRequest())) {
$this->logoutUrlGenerator->setCurrentFirewall($config->getName(), $config->getContext());
}

parent::onKernelRequest($event);
}

/**
* @internal since Symfony 4.3
*/
public function onKernelFinishRequest(FinishRequestEvent $event)
{
if ($event->isMasterRequest()) {
Expand All @@ -71,7 +65,6 @@ public static function getSubscribedEvents()
{
return [
KernelEvents::REQUEST => [
['configureLogoutUrlGenerator', 8],
['onKernelRequest', 8],
],
KernelEvents::FINISH_REQUEST => 'onKernelFinishRequest',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ public function testOnKernelRequestRecordsListeners()
->willReturn([[$listener], null, null]);

$firewall = new TraceableFirewallListener($firewallMap, new EventDispatcher(), new LogoutUrlGenerator());
$firewall->configureLogoutUrlGenerator($event);
$firewall->onKernelRequest($event);

$listeners = $firewall->getWrappedListeners();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Session\Flash\AutoExpireFlashBag;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
use Symfony\Component\HttpKernel\Event\ResponseEvent;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use Twig\Environment;
Expand All @@ -31,7 +31,7 @@
*
* @author Fabien Potencier <fabien@symfony.com>
*
* @final since Symfony 4.3
* @final
*/
class WebDebugToolbarListener implements EventSubscriberInterface
{
Expand Down Expand Up @@ -60,7 +60,7 @@ public function isEnabled()
return self::DISABLED !== $this->mode;
}

public function onKernelResponse(FilterResponseEvent $event)
public function onKernelResponse(ResponseEvent $event)
{
$response = $event->getResponse();
$request = $event->getRequest();
Expand Down
10 changes: 9 additions & 1 deletion src/Symfony/Component/HttpKernel/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,15 @@ CHANGELOG
* removed `ConfigDataCollector::getApplicationName()`
* removed `ConfigDataCollector::getApplicationVersion()`
* removed support for `Symfony\Component\Templating\EngineInterface` in `HIncludeFragmentRenderer`, use a `Twig\Environment` only
* removed `TranslatorListener`
* removed `TranslatorListener` in favor of `LocaleAwareListener`
* removed `FilterControllerArgumentsEvent`, use `ControllerArgumentsEvent` instead
* removed `FilterControllerEvent`, use `ControllerEvent` instead
* removed `FilterResponseEvent`, use `ResponseEvent` instead
* removed `GetResponseEvent`, use `RequestEvent` instead
* removed `GetResponseForControllerResultEvent`, use `ViewEvent` instead
* removed `GetResponseForExceptionEvent`, use `ExceptionEvent` instead
* removed `PostResponseEvent`, use `TerminateEvent` instead
* removed `SaveSessionListener` in favor of `AbstractSessionListener`

4.3.0
-----
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
use Symfony\Component\HttpFoundation\ParameterBag;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Event\FilterControllerEvent;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
use Symfony\Component\HttpKernel\Event\ControllerEvent;
use Symfony\Component\HttpKernel\Event\ResponseEvent;
use Symfony\Component\HttpKernel\KernelEvents;

/**
Expand Down Expand Up @@ -350,18 +350,12 @@ public function getForwardToken()
return isset($this->data['forward_token']) ? $this->data['forward_token'] : null;
}

/**
* @final since Symfony 4.3
*/
public function onKernelController(FilterControllerEvent $event)
public function onKernelController(ControllerEvent $event)
{
$this->controllers[$event->getRequest()] = $event->getController();
}

/**
* @final since Symfony 4.3
*/
public function onKernelResponse(FilterResponseEvent $event)
public function onKernelResponse(ResponseEvent $event)
{
if (!$event->isMasterRequest()) {
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Event\FilterControllerEvent;
use Symfony\Component\HttpKernel\Event\ControllerEvent;

/**
* @author Fabien Potencier <fabien@symfony.com>
Expand Down Expand Up @@ -66,10 +66,8 @@ protected function guessRoute(Request $request, $controller)

/**
* Remembers the controller associated to each request.
*
* @final since Symfony 4.3
*/
public function onKernelController(FilterControllerEvent $event)
public function onKernelController(ControllerEvent $event)
{
$this->controllers[$event->getRequest()] = $event->getController();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@

namespace Symfony\Component\HttpKernel\Event;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\HttpKernelInterface;

/**
* Allows filtering of controller arguments.
*
Expand All @@ -23,6 +26,27 @@
*
* @author Christophe Coevoet <stof@notk.org>
*/
class ControllerArgumentsEvent extends FilterControllerArgumentsEvent
class ControllerArgumentsEvent extends ControllerEvent
{
private $arguments;

public function __construct(HttpKernelInterface $kernel, callable $controller, array $arguments, Request $request, ?int $requestType)
{
parent::__construct($kernel, $controller, $request, $requestType);

$this->arguments = $arguments;
}

/**
* @return array
*/
public function getArguments()
{
return $this->arguments;
}

public function setArguments(array $arguments)
{
$this->arguments = $arguments;
}
}
Loading