feature #40536 [HttpFoundation][HttpKernel] Rename master request to main request (derrabus)

This PR was merged into the 5.3-dev branch.

Discussion
----------

[HttpFoundation][HttpKernel] Rename master request to main request

| Q             | A
| ------------- | ---
| Branch?       | 5.x
| Bug fix?      | no
| New feature?  | no
| Deprecations? | yes
| Tickets       | Fix #37509
| License       | MIT
| Doc PR        | TODO

Let's find a better term for "master request" because of the reasons described in https://github.com/symfony/symfony/issues/37509#issuecomment-749498154. This PR proposes the term main request instead.

Commits
-------

1fc2a04e00 Rename master request to main request
This commit is contained in:
Nyholm 2021-03-22 14:40:41 +01:00
commit 8c1f3aca39
No known key found for this signature in database
GPG Key ID: D6332DE2B6F8FA38
108 changed files with 416 additions and 339 deletions

View File

@ -36,11 +36,13 @@ FrameworkBundle
* Deprecate the `framework.session.storage_id` configuration option, use the `framework.session.storage_factory_id` configuration option instead * Deprecate the `framework.session.storage_id` configuration option, use the `framework.session.storage_factory_id` configuration option instead
* Deprecate the `session` service and the `SessionInterface` alias, use the `\Symfony\Component\HttpFoundation\Request::getSession()` or the new `\Symfony\Component\HttpFoundation\RequestStack::getSession()` methods instead * Deprecate the `session` service and the `SessionInterface` alias, use the `\Symfony\Component\HttpFoundation\Request::getSession()` or the new `\Symfony\Component\HttpFoundation\RequestStack::getSession()` methods instead
* Deprecate the `KernelTestCase::$container` property, use `KernelTestCase::getContainer()` instead * Deprecate the `KernelTestCase::$container` property, use `KernelTestCase::getContainer()` instead
* Rename the container parameter `profiler_listener.only_master_requests` to `profiler_listener.only_main_requests`
HttpFoundation HttpFoundation
-------------- --------------
* Deprecate the `NamespacedAttributeBag` class * Deprecate the `NamespacedAttributeBag` class
* Deprecate the `RequestStack::getMasterRequest()` method and add `getMainRequest()` as replacement
HttpKernel HttpKernel
---------- ----------
@ -49,6 +51,8 @@ HttpKernel
* Deprecate `ArgumentMetadata::getAttribute()`, use `getAttributes()` instead * Deprecate `ArgumentMetadata::getAttribute()`, use `getAttributes()` instead
* Mark the class `Symfony\Component\HttpKernel\EventListener\DebugHandlersListener` as internal * Mark the class `Symfony\Component\HttpKernel\EventListener\DebugHandlersListener` as internal
* Deprecate returning a `ContainerBuilder` from `KernelInterface::registerContainerConfiguration()` * Deprecate returning a `ContainerBuilder` from `KernelInterface::registerContainerConfiguration()`
* Deprecate `HttpKernelInterface::MASTER_REQUEST` and add `HttpKernelInterface::MAIN_REQUEST` as replacement
* Deprecate `KernelEvent::isMasterRequest()` and add `isMainRequest()` as replacement
Messenger Messenger
--------- ---------

View File

@ -89,6 +89,7 @@ HttpFoundation
`BinaryFileResponse::create()` methods (use `__construct()` instead) `BinaryFileResponse::create()` methods (use `__construct()` instead)
* Not passing a `Closure` together with `FILTER_CALLBACK` to `ParameterBag::filter()` throws an `InvalidArgumentException`; wrap your filter in a closure instead. * Not passing a `Closure` together with `FILTER_CALLBACK` to `ParameterBag::filter()` throws an `InvalidArgumentException`; wrap your filter in a closure instead.
* Removed the `Request::HEADER_X_FORWARDED_ALL` constant, use either `Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO` or `Request::HEADER_X_FORWARDED_AWS_ELB` or `Request::HEADER_X_FORWARDED_TRAEFIK`constants instead. * Removed the `Request::HEADER_X_FORWARDED_ALL` constant, use either `Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO` or `Request::HEADER_X_FORWARDED_AWS_ELB` or `Request::HEADER_X_FORWARDED_TRAEFIK`constants instead.
* Rename `RequestStack::getMasterRequest()` to `getMainRequest()`
HttpKernel HttpKernel
---------- ----------
@ -98,6 +99,8 @@ HttpKernel
* Make `WarmableInterface::warmUp()` return a list of classes or files to preload on PHP 7.4+ * Make `WarmableInterface::warmUp()` return a list of classes or files to preload on PHP 7.4+
* Remove support for `service:action` syntax to reference controllers. Use `serviceOrFqcn::method` instead. * Remove support for `service:action` syntax to reference controllers. Use `serviceOrFqcn::method` instead.
* Remove support for returning a `ContainerBuilder` from `KernelInterface::registerContainerConfiguration()` * Remove support for returning a `ContainerBuilder` from `KernelInterface::registerContainerConfiguration()`
* Rename `HttpKernelInterface::MASTER_REQUEST` to `MAIN_REQUEST`
* Rename `KernelEvent::isMasterRequest()` to `isMainRequest()`
Inflector Inflector
--------- ---------

View File

@ -36,7 +36,7 @@ class ChromePhpHandler extends BaseChromePhpHandler
*/ */
public function onKernelResponse(ResponseEvent $event) public function onKernelResponse(ResponseEvent $event)
{ {
if (!$event->isMasterRequest()) { if (!$event->isMainRequest()) {
return; return;
} }

View File

@ -65,7 +65,7 @@ class HttpCodeActivationStrategy extends ErrorLevelActivationStrategy implements
$isActivated $isActivated
&& isset($record['context']['exception']) && isset($record['context']['exception'])
&& $record['context']['exception'] instanceof HttpException && $record['context']['exception'] instanceof HttpException
&& ($request = $this->requestStack->getMasterRequest()) && ($request = $this->requestStack->getMainRequest())
) { ) {
foreach ($this->exclusions as $exclusion) { foreach ($this->exclusions as $exclusion) {
if ($record['context']['exception']->getStatusCode() !== $exclusion['code']) { if ($record['context']['exception']->getStatusCode() !== $exclusion['code']) {

View File

@ -57,7 +57,7 @@ class NotFoundActivationStrategy extends ErrorLevelActivationStrategy implements
&& isset($record['context']['exception']) && isset($record['context']['exception'])
&& $record['context']['exception'] instanceof HttpException && $record['context']['exception'] instanceof HttpException
&& 404 == $record['context']['exception']->getStatusCode() && 404 == $record['context']['exception']->getStatusCode()
&& ($request = $this->requestStack->getMasterRequest()) && ($request = $this->requestStack->getMainRequest())
) { ) {
return !preg_match($this->exclude, $request->getPathInfo()); return !preg_match($this->exclude, $request->getPathInfo());
} }

View File

@ -36,7 +36,7 @@ class FirePHPHandler extends BaseFirePHPHandler
*/ */
public function onKernelResponse(ResponseEvent $event) public function onKernelResponse(ResponseEvent $event)
{ {
if (!$event->isMasterRequest()) { if (!$event->isMainRequest()) {
return; return;
} }

View File

@ -51,7 +51,7 @@ class RouteProcessor implements EventSubscriberInterface, ResetInterface
public function addRouteData(RequestEvent $event) public function addRouteData(RequestEvent $event)
{ {
if ($event->isMasterRequest()) { if ($event->isMainRequest()) {
$this->reset(); $this->reset();
} }

View File

@ -33,7 +33,7 @@ class WebProcessor extends BaseWebProcessor implements EventSubscriberInterface
public function onKernelRequest(RequestEvent $event) public function onKernelRequest(RequestEvent $event)
{ {
if ($event->isMasterRequest()) { if ($event->isMainRequest()) {
$this->serverData = $event->getRequest()->server->all(); $this->serverData = $event->getRequest()->server->all();
$this->serverData['REMOTE_ADDR'] = $event->getRequest()->getClientIp(); $this->serverData['REMOTE_ADDR'] = $event->getRequest()->getClientIp();
} }

View File

@ -123,14 +123,14 @@ class RouteProcessorTest extends TestCase
$this->assertEquals(['extra' => []], $record); $this->assertEquals(['extra' => []], $record);
} }
private function getRequestEvent(Request $request, int $requestType = HttpKernelInterface::MASTER_REQUEST): RequestEvent private function getRequestEvent(Request $request, int $requestType = HttpKernelInterface::MAIN_REQUEST): RequestEvent
{ {
return new RequestEvent($this->createMock(HttpKernelInterface::class), $request, $requestType); return new RequestEvent($this->createMock(HttpKernelInterface::class), $request, $requestType);
} }
private function getFinishRequestEvent(Request $request): FinishRequestEvent private function getFinishRequestEvent(Request $request): FinishRequestEvent
{ {
return new FinishRequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST); return new FinishRequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST);
} }
private function mockEmptyRequest(): Request private function mockEmptyRequest(): Request

View File

@ -89,7 +89,7 @@ class WebProcessorTest extends TestCase
$request->server->replace($server); $request->server->replace($server);
$request->headers->replace($server); $request->headers->replace($server);
$event = new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST); $event = new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST);
return [$event, $server]; return [$event, $server];
} }

View File

@ -19,7 +19,7 @@
"php": ">=7.2.5", "php": ">=7.2.5",
"monolog/monolog": "^1.25.1|^2", "monolog/monolog": "^1.25.1|^2",
"symfony/service-contracts": "^1.1|^2", "symfony/service-contracts": "^1.1|^2",
"symfony/http-kernel": "^4.4|^5.0", "symfony/http-kernel": "^5.3",
"symfony/deprecation-contracts": "^2.1" "symfony/deprecation-contracts": "^2.1"
}, },
"require-dev": { "require-dev": {
@ -32,7 +32,7 @@
}, },
"conflict": { "conflict": {
"symfony/console": "<4.4", "symfony/console": "<4.4",
"symfony/http-foundation": "<4.4" "symfony/http-foundation": "<5.3"
}, },
"suggest": { "suggest": {
"symfony/http-kernel": "For using the debugging handlers together with the response life cycle of the HTTP kernel.", "symfony/http-kernel": "For using the debugging handlers together with the response life cycle of the HTTP kernel.",

View File

@ -56,7 +56,7 @@ final class WebLinkExtension extends AbstractExtension
*/ */
public function link(string $uri, string $rel, array $attributes = []): string public function link(string $uri, string $rel, array $attributes = []): string
{ {
if (!$request = $this->requestStack->getMasterRequest()) { if (!$request = $this->requestStack->getMainRequest()) {
return $uri; return $uri;
} }

View File

@ -29,7 +29,7 @@
"symfony/dependency-injection": "^4.4|^5.0", "symfony/dependency-injection": "^4.4|^5.0",
"symfony/finder": "^4.4|^5.0", "symfony/finder": "^4.4|^5.0",
"symfony/form": "^5.3", "symfony/form": "^5.3",
"symfony/http-foundation": "^4.4|^5.0", "symfony/http-foundation": "^5.3",
"symfony/http-kernel": "^4.4|^5.0", "symfony/http-kernel": "^4.4|^5.0",
"symfony/intl": "^4.4|^5.0", "symfony/intl": "^4.4|^5.0",
"symfony/mime": "^5.2", "symfony/mime": "^5.2",
@ -57,7 +57,7 @@
"phpdocumentor/type-resolver": "<1.4.0", "phpdocumentor/type-resolver": "<1.4.0",
"symfony/console": "<4.4", "symfony/console": "<4.4",
"symfony/form": "<5.3", "symfony/form": "<5.3",
"symfony/http-foundation": "<4.4", "symfony/http-foundation": "<5.3",
"symfony/http-kernel": "<4.4", "symfony/http-kernel": "<4.4",
"symfony/translation": "<5.2", "symfony/translation": "<5.2",
"symfony/workflow": "<5.2" "symfony/workflow": "<5.2"

View File

@ -17,6 +17,7 @@ CHANGELOG
* Add support to use a PSR-6 compatible cache for Doctrine annotations * Add support to use a PSR-6 compatible cache for Doctrine annotations
* Deprecate all other values than "none", "php_array" and "file" for `framework.annotation.cache` * Deprecate all other values than "none", "php_array" and "file" for `framework.annotation.cache`
* Add `KernelTestCase::getContainer()` as the best way to get a container in tests * Add `KernelTestCase::getContainer()` as the best way to get a container in tests
* Rename the container parameter `profiler_listener.only_master_requests` to `profiler_listener.only_main_requests`
5.2.0 5.2.0
----- -----

View File

@ -304,7 +304,8 @@ class Configuration implements ConfigurationInterface
->children() ->children()
->booleanNode('collect')->defaultTrue()->end() ->booleanNode('collect')->defaultTrue()->end()
->booleanNode('only_exceptions')->defaultFalse()->end() ->booleanNode('only_exceptions')->defaultFalse()->end()
->booleanNode('only_master_requests')->defaultFalse()->end() ->booleanNode('only_main_requests')->defaultFalse()->end()
->booleanNode('only_master_requests')->setDeprecated('symfony/framework-bundle', '5.3', 'Option "%node%" at "%path%" is deprecated, use "only_main_requests" instead.')->defaultFalse()->end()
->scalarNode('dsn')->defaultValue('file:%kernel.cache_dir%/profiler')->end() ->scalarNode('dsn')->defaultValue('file:%kernel.cache_dir%/profiler')->end()
->end() ->end()
->end() ->end()

View File

@ -711,7 +711,7 @@ class FrameworkExtension extends Extension
} }
$container->setParameter('profiler_listener.only_exceptions', $config['only_exceptions']); $container->setParameter('profiler_listener.only_exceptions', $config['only_exceptions']);
$container->setParameter('profiler_listener.only_master_requests', $config['only_master_requests']); $container->setParameter('profiler_listener.only_main_requests', $config['only_main_requests'] || $config['only_master_requests']);
// Choose storage class based on the DSN // Choose storage class based on the DSN
[$class] = explode(':', $config['dsn'], 2); [$class] = explode(':', $config['dsn'], 2);

View File

@ -63,7 +63,7 @@ class HttpCache extends BaseHttpCache
parent::__construct($kernel, $this->createStore(), $this->createSurrogate(), array_merge($this->options, $this->getOptions())); parent::__construct($kernel, $this->createStore(), $this->createSurrogate(), array_merge($this->options, $this->getOptions()));
} }
public function handle(Request $request, int $type = HttpKernelInterface::MASTER_REQUEST, bool $catch = true) public function handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true)
{ {
if ($this->kernel->getContainer()->getParameter('kernel.http_method_override')) { if ($this->kernel->getContainer()->getParameter('kernel.http_method_override')) {
Request::enableHttpMethodParameterOverride(); Request::enableHttpMethodParameterOverride();

View File

@ -31,7 +31,7 @@ return static function (ContainerConfigurator $container) {
service('request_stack'), service('request_stack'),
null, null,
param('profiler_listener.only_exceptions'), param('profiler_listener.only_exceptions'),
param('profiler_listener.only_master_requests'), param('profiler_listener.only_main_requests'),
]) ])
->tag('kernel.event_subscriber') ->tag('kernel.event_subscriber')
; ;

View File

@ -87,6 +87,7 @@
<xsd:complexType name="profiler"> <xsd:complexType name="profiler">
<xsd:attribute name="collect" type="xsd:string" /> <xsd:attribute name="collect" type="xsd:string" />
<xsd:attribute name="only-exceptions" type="xsd:string" /> <xsd:attribute name="only-exceptions" type="xsd:string" />
<xsd:attribute name="only-main-requests" type="xsd:string" />
<xsd:attribute name="only-master-requests" type="xsd:string" /> <xsd:attribute name="only-master-requests" type="xsd:string" />
<xsd:attribute name="enabled" type="xsd:string" /> <xsd:attribute name="enabled" type="xsd:string" />
<xsd:attribute name="dsn" type="xsd:string" /> <xsd:attribute name="dsn" type="xsd:string" />

View File

@ -397,6 +397,7 @@ class ConfigurationTest extends TestCase
'enabled' => false, 'enabled' => false,
'only_exceptions' => false, 'only_exceptions' => false,
'only_master_requests' => false, 'only_master_requests' => false,
'only_main_requests' => false,
'dsn' => 'file:%kernel.cache_dir%/profiler', 'dsn' => 'file:%kernel.cache_dir%/profiler',
'collect' => true, 'collect' => true,
], ],

View File

@ -122,7 +122,7 @@ class MicroKernelTraitTest extends TestCase
}; };
$request = Request::create('/'); $request = Request::create('/');
$response = $kernel->handle($request, HttpKernelInterface::MASTER_REQUEST, false); $response = $kernel->handle($request, HttpKernelInterface::MAIN_REQUEST, false);
$this->assertSame('Hello World!', $response->getContent()); $this->assertSame('Hello World!', $response->getContent());
} }
@ -156,7 +156,7 @@ class MicroKernelTraitTest extends TestCase
$this->expectExceptionMessage('"Symfony\Bundle\FrameworkBundle\Tests\Kernel\MinimalKernel@anonymous" uses "Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait", but does not implement the required method "protected function configureRoutes(RoutingConfigurator $routes): void".'); $this->expectExceptionMessage('"Symfony\Bundle\FrameworkBundle\Tests\Kernel\MinimalKernel@anonymous" uses "Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait", but does not implement the required method "protected function configureRoutes(RoutingConfigurator $routes): void".');
$request = Request::create('/'); $request = Request::create('/');
$kernel->handle($request, HttpKernelInterface::MASTER_REQUEST, false); $kernel->handle($request, HttpKernelInterface::MAIN_REQUEST, false);
} }
} }

View File

@ -25,7 +25,7 @@
"symfony/event-dispatcher": "^5.1", "symfony/event-dispatcher": "^5.1",
"symfony/error-handler": "^4.4.1|^5.0.1", "symfony/error-handler": "^4.4.1|^5.0.1",
"symfony/http-foundation": "^5.3", "symfony/http-foundation": "^5.3",
"symfony/http-kernel": "^5.2.1", "symfony/http-kernel": "^5.3",
"symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php80": "^1.15", "symfony/polyfill-php80": "^1.15",
"symfony/filesystem": "^4.4|^5.0", "symfony/filesystem": "^4.4|^5.0",

View File

@ -38,7 +38,7 @@ class FirewallListener extends Firewall
public function configureLogoutUrlGenerator(RequestEvent $event) public function configureLogoutUrlGenerator(RequestEvent $event)
{ {
if (!$event->isMasterRequest()) { if (!$event->isMainRequest()) {
return; return;
} }
@ -49,7 +49,7 @@ class FirewallListener extends Firewall
public function onKernelFinishRequest(FinishRequestEvent $event) public function onKernelFinishRequest(FinishRequestEvent $event)
{ {
if ($event->isMasterRequest()) { if ($event->isMainRequest()) {
$this->logoutUrlGenerator->setCurrentFirewall(null); $this->logoutUrlGenerator->setCurrentFirewall(null);
} }

View File

@ -49,7 +49,7 @@ class UserAuthenticator implements UserAuthenticatorInterface
private function getUserAuthenticator(): UserAuthenticatorInterface private function getUserAuthenticator(): UserAuthenticatorInterface
{ {
$firewallConfig = $this->firewallMap->getFirewallConfig($this->requestStack->getMasterRequest()); $firewallConfig = $this->firewallMap->getFirewallConfig($this->requestStack->getMainRequest());
if (null === $firewallConfig) { if (null === $firewallConfig) {
throw new LogicException('Cannot call authenticate on this request, as it is not behind a firewall.'); throw new LogicException('Cannot call authenticate on this request, as it is not behind a firewall.');
} }

View File

@ -188,7 +188,7 @@ class SecurityDataCollectorTest extends TestCase
public function testGetListeners() public function testGetListeners()
{ {
$request = new Request(); $request = new Request();
$event = new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST); $event = new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST);
$event->setResponse($response = new Response()); $event->setResponse($response = new Response());
$listener = function ($e) use ($event, &$listenerCalled) { $listener = function ($e) use ($event, &$listenerCalled) {
$listenerCalled += $e === $event; $listenerCalled += $e === $event;

View File

@ -29,7 +29,7 @@ class TraceableFirewallListenerTest extends TestCase
public function testOnKernelRequestRecordsListeners() public function testOnKernelRequestRecordsListeners()
{ {
$request = new Request(); $request = new Request();
$event = new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST); $event = new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST);
$event->setResponse($response = new Response()); $event->setResponse($response = new Response());
$listener = function ($e) use ($event, &$listenerCalled) { $listener = function ($e) use ($event, &$listenerCalled) {
$listenerCalled += $e === $event; $listenerCalled += $e === $event;

View File

@ -22,7 +22,8 @@
"symfony/dependency-injection": "^5.3", "symfony/dependency-injection": "^5.3",
"symfony/deprecation-contracts": "^2.1", "symfony/deprecation-contracts": "^2.1",
"symfony/event-dispatcher": "^5.1", "symfony/event-dispatcher": "^5.1",
"symfony/http-kernel": "^5.0", "symfony/http-kernel": "^5.3",
"symfony/http-foundation": "^5.3",
"symfony/password-hasher": "^5.3", "symfony/password-hasher": "^5.3",
"symfony/polyfill-php80": "^1.15", "symfony/polyfill-php80": "^1.15",
"symfony/security-core": "^5.3", "symfony/security-core": "^5.3",

View File

@ -88,7 +88,7 @@ class WebDebugToolbarListener implements EventSubscriberInterface
} }
} }
if (!$event->isMasterRequest()) { if (!$event->isMainRequest()) {
return; return;
} }

View File

@ -67,7 +67,7 @@ class WebDebugToolbarListenerTest extends TestCase
{ {
$response = new Response('Some content', $statusCode); $response = new Response('Some content', $statusCode);
$response->headers->set('X-Debug-Token', 'xxxxxxxx'); $response->headers->set('X-Debug-Token', 'xxxxxxxx');
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(false, 'html', $hasSession), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(false, 'html', $hasSession), HttpKernelInterface::MAIN_REQUEST, $response);
$listener = new WebDebugToolbarListener($this->getTwigMock('Redirection'), true); $listener = new WebDebugToolbarListener($this->getTwigMock('Redirection'), true);
$listener->onKernelResponse($event); $listener->onKernelResponse($event);
@ -80,7 +80,7 @@ class WebDebugToolbarListenerTest extends TestCase
{ {
$response = new Response('Some content', '301'); $response = new Response('Some content', '301');
$response->headers->set('X-Debug-Token', 'xxxxxxxx'); $response->headers->set('X-Debug-Token', 'xxxxxxxx');
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(false, 'json', true), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(false, 'json', true), HttpKernelInterface::MAIN_REQUEST, $response);
$listener = new WebDebugToolbarListener($this->getTwigMock('Redirection'), true); $listener = new WebDebugToolbarListener($this->getTwigMock('Redirection'), true);
$listener->onKernelResponse($event); $listener->onKernelResponse($event);
@ -94,7 +94,7 @@ class WebDebugToolbarListenerTest extends TestCase
$response = new Response('<html><head></head><body></body></html>'); $response = new Response('<html><head></head><body></body></html>');
$response->headers->set('X-Debug-Token', 'xxxxxxxx'); $response->headers->set('X-Debug-Token', 'xxxxxxxx');
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MAIN_REQUEST, $response);
$listener = new WebDebugToolbarListener($this->getTwigMock()); $listener = new WebDebugToolbarListener($this->getTwigMock());
$listener->onKernelResponse($event); $listener->onKernelResponse($event);
@ -110,7 +110,7 @@ class WebDebugToolbarListenerTest extends TestCase
$response = new Response('<html><head></head><body></body></html>'); $response = new Response('<html><head></head><body></body></html>');
$response->headers->set('X-Debug-Token', 'xxxxxxxx'); $response->headers->set('X-Debug-Token', 'xxxxxxxx');
$response->headers->set('Content-Type', 'text/xml'); $response->headers->set('Content-Type', 'text/xml');
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MAIN_REQUEST, $response);
$listener = new WebDebugToolbarListener($this->getTwigMock()); $listener = new WebDebugToolbarListener($this->getTwigMock());
$listener->onKernelResponse($event); $listener->onKernelResponse($event);
@ -126,7 +126,7 @@ class WebDebugToolbarListenerTest extends TestCase
$response = new Response('<html><head></head><body></body></html>'); $response = new Response('<html><head></head><body></body></html>');
$response->headers->set('X-Debug-Token', 'xxxxxxxx'); $response->headers->set('X-Debug-Token', 'xxxxxxxx');
$response->headers->set('Content-Disposition', 'attachment; filename=test.html'); $response->headers->set('Content-Disposition', 'attachment; filename=test.html');
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(false, 'html'), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(false, 'html'), HttpKernelInterface::MAIN_REQUEST, $response);
$listener = new WebDebugToolbarListener($this->getTwigMock()); $listener = new WebDebugToolbarListener($this->getTwigMock());
$listener->onKernelResponse($event); $listener->onKernelResponse($event);
@ -142,7 +142,7 @@ class WebDebugToolbarListenerTest extends TestCase
{ {
$response = new Response('<html><head></head><body></body></html>', $statusCode); $response = new Response('<html><head></head><body></body></html>', $statusCode);
$response->headers->set('X-Debug-Token', 'xxxxxxxx'); $response->headers->set('X-Debug-Token', 'xxxxxxxx');
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(false, 'html', $hasSession), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(false, 'html', $hasSession), HttpKernelInterface::MAIN_REQUEST, $response);
$listener = new WebDebugToolbarListener($this->getTwigMock()); $listener = new WebDebugToolbarListener($this->getTwigMock());
$listener->onKernelResponse($event); $listener->onKernelResponse($event);
@ -167,7 +167,7 @@ class WebDebugToolbarListenerTest extends TestCase
{ {
$response = new Response('<html><head></head><body></body></html>'); $response = new Response('<html><head></head><body></body></html>');
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MAIN_REQUEST, $response);
$listener = new WebDebugToolbarListener($this->getTwigMock()); $listener = new WebDebugToolbarListener($this->getTwigMock());
$listener->onKernelResponse($event); $listener->onKernelResponse($event);
@ -199,7 +199,7 @@ class WebDebugToolbarListenerTest extends TestCase
$response = new Response('<div>Some content</div>'); $response = new Response('<div>Some content</div>');
$response->headers->set('X-Debug-Token', 'xxxxxxxx'); $response->headers->set('X-Debug-Token', 'xxxxxxxx');
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MAIN_REQUEST, $response);
$listener = new WebDebugToolbarListener($this->getTwigMock()); $listener = new WebDebugToolbarListener($this->getTwigMock());
$listener->onKernelResponse($event); $listener->onKernelResponse($event);
@ -215,7 +215,7 @@ class WebDebugToolbarListenerTest extends TestCase
$response = new Response('<html><head></head><body></body></html>'); $response = new Response('<html><head></head><body></body></html>');
$response->headers->set('X-Debug-Token', 'xxxxxxxx'); $response->headers->set('X-Debug-Token', 'xxxxxxxx');
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(true), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(true), HttpKernelInterface::MAIN_REQUEST, $response);
$listener = new WebDebugToolbarListener($this->getTwigMock()); $listener = new WebDebugToolbarListener($this->getTwigMock());
$listener->onKernelResponse($event); $listener->onKernelResponse($event);
@ -231,7 +231,7 @@ class WebDebugToolbarListenerTest extends TestCase
$response = new Response('<html><head></head><body></body></html>'); $response = new Response('<html><head></head><body></body></html>');
$response->headers->set('X-Debug-Token', 'xxxxxxxx'); $response->headers->set('X-Debug-Token', 'xxxxxxxx');
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(false, 'json'), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(false, 'json'), HttpKernelInterface::MAIN_REQUEST, $response);
$listener = new WebDebugToolbarListener($this->getTwigMock()); $listener = new WebDebugToolbarListener($this->getTwigMock());
$listener->onKernelResponse($event); $listener->onKernelResponse($event);
@ -252,7 +252,7 @@ class WebDebugToolbarListenerTest extends TestCase
->willReturn('http://mydomain.com/_profiler/xxxxxxxx') ->willReturn('http://mydomain.com/_profiler/xxxxxxxx')
; ;
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MAIN_REQUEST, $response);
$listener = new WebDebugToolbarListener($this->getTwigMock(), false, WebDebugToolbarListener::ENABLED, $urlGenerator); $listener = new WebDebugToolbarListener($this->getTwigMock(), false, WebDebugToolbarListener::ENABLED, $urlGenerator);
$listener->onKernelResponse($event); $listener->onKernelResponse($event);
@ -273,7 +273,7 @@ class WebDebugToolbarListenerTest extends TestCase
->willThrowException(new \Exception('foo')) ->willThrowException(new \Exception('foo'))
; ;
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MAIN_REQUEST, $response);
$listener = new WebDebugToolbarListener($this->getTwigMock(), false, WebDebugToolbarListener::ENABLED, $urlGenerator); $listener = new WebDebugToolbarListener($this->getTwigMock(), false, WebDebugToolbarListener::ENABLED, $urlGenerator);
$listener->onKernelResponse($event); $listener->onKernelResponse($event);
@ -294,7 +294,7 @@ class WebDebugToolbarListenerTest extends TestCase
->willThrowException(new \Exception("This\nmultiline\r\ntabbed text should\tcome out\r on\n \ta single plain\r\nline")) ->willThrowException(new \Exception("This\nmultiline\r\ntabbed text should\tcome out\r on\n \ta single plain\r\nline"))
; ;
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MAIN_REQUEST, $response);
$listener = new WebDebugToolbarListener($this->getTwigMock(), false, WebDebugToolbarListener::ENABLED, $urlGenerator); $listener = new WebDebugToolbarListener($this->getTwigMock(), false, WebDebugToolbarListener::ENABLED, $urlGenerator);
$listener->onKernelResponse($event); $listener->onKernelResponse($event);
@ -307,7 +307,7 @@ class WebDebugToolbarListenerTest extends TestCase
$response = new Response('<html><head></head><body></body></html>'); $response = new Response('<html><head></head><body></body></html>');
$response->headers->set('X-Debug-Token', 'xxxxxxxx'); $response->headers->set('X-Debug-Token', 'xxxxxxxx');
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MAIN_REQUEST, $response);
$cspHandler = $this->createMock(ContentSecurityPolicyHandler::class); $cspHandler = $this->createMock(ContentSecurityPolicyHandler::class);
$cspHandler->expects($this->once()) $cspHandler->expects($this->once())
@ -328,7 +328,7 @@ class WebDebugToolbarListenerTest extends TestCase
$response = new Response('<html><head></head><body></body></html>'); $response = new Response('<html><head></head><body></body></html>');
$response->headers->set('X-Debug-Token', 'xxxxxxxx'); $response->headers->set('X-Debug-Token', 'xxxxxxxx');
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MAIN_REQUEST, $response);
$cspHandler = $this->createMock(ContentSecurityPolicyHandler::class); $cspHandler = $this->createMock(ContentSecurityPolicyHandler::class);
$cspHandler->expects($this->never()) $cspHandler->expects($this->never())

View File

@ -19,7 +19,7 @@
"php": ">=7.2.5", "php": ">=7.2.5",
"symfony/config": "^4.4|^5.0", "symfony/config": "^4.4|^5.0",
"symfony/framework-bundle": "^5.3", "symfony/framework-bundle": "^5.3",
"symfony/http-kernel": "^5.2", "symfony/http-kernel": "^5.3",
"symfony/routing": "^4.4|^5.0", "symfony/routing": "^4.4|^5.0",
"symfony/twig-bundle": "^4.4|^5.0", "symfony/twig-bundle": "^4.4|^5.0",
"twig/twig": "^2.13|^3.0.4" "twig/twig": "^2.13|^3.0.4"

View File

@ -36,7 +36,7 @@ class RequestStackContext implements ContextInterface
*/ */
public function getBasePath() public function getBasePath()
{ {
if (!$request = $this->requestStack->getMasterRequest()) { if (!$request = $this->requestStack->getMainRequest()) {
return $this->basePath; return $this->basePath;
} }
@ -48,7 +48,7 @@ class RequestStackContext implements ContextInterface
*/ */
public function isSecure() public function isSecure()
{ {
if (!$request = $this->requestStack->getMasterRequest()) { if (!$request = $this->requestStack->getMainRequest()) {
return $this->secure; return $this->secure;
} }

View File

@ -34,7 +34,7 @@ class RequestStackContextTest extends TestCase
$request->method('getBasePath') $request->method('getBasePath')
->willReturn($testBasePath); ->willReturn($testBasePath);
$requestStack = $this->createMock(RequestStack::class); $requestStack = $this->createMock(RequestStack::class);
$requestStack->method('getMasterRequest') $requestStack->method('getMainRequest')
->willReturn($request); ->willReturn($request);
$requestStackContext = new RequestStackContext($requestStack); $requestStackContext = new RequestStackContext($requestStack);
@ -56,7 +56,7 @@ class RequestStackContextTest extends TestCase
$request->method('isSecure') $request->method('isSecure')
->willReturn(true); ->willReturn(true);
$requestStack = $this->createMock(RequestStack::class); $requestStack = $this->createMock(RequestStack::class);
$requestStack->method('getMasterRequest') $requestStack->method('getMainRequest')
->willReturn($request); ->willReturn($request);
$requestStackContext = new RequestStackContext($requestStack); $requestStackContext = new RequestStackContext($requestStack);

View File

@ -24,9 +24,12 @@
}, },
"require-dev": { "require-dev": {
"symfony/http-client": "^4.4|^5.0", "symfony/http-client": "^4.4|^5.0",
"symfony/http-foundation": "^4.4|^5.0", "symfony/http-foundation": "^5.3",
"symfony/http-kernel": "^4.4|^5.0" "symfony/http-kernel": "^4.4|^5.0"
}, },
"conflict": {
"symfony/http-foundation": "<5.3"
},
"autoload": { "autoload": {
"psr-4": { "Symfony\\Component\\Asset\\": "" }, "psr-4": { "Symfony\\Component\\Asset\\": "" },
"exclude-from-classmap": [ "exclude-from-classmap": [

View File

@ -8,7 +8,8 @@ CHANGELOG
* Calling `Request::getSession()` when there is no available session throws a `SessionNotFoundException` * Calling `Request::getSession()` when there is no available session throws a `SessionNotFoundException`
* Add the `RequestStack::getSession` method * Add the `RequestStack::getSession` method
* Deprecate the `NamespacedAttributeBag` class * Deprecate the `NamespacedAttributeBag` class
* added `ResponseFormatSame` PHPUnit constraint * Add `ResponseFormatSame` PHPUnit constraint
* Deprecate the `RequestStack::getMasterRequest()` method and add `getMainRequest()` as replacement
5.2.0 5.2.0
----- -----

View File

@ -65,15 +65,13 @@ class RequestStack
} }
/** /**
* Gets the master Request. * Gets the main request.
* *
* Be warned that making your code aware of the master request * Be warned that making your code aware of the main request
* might make it un-compatible with other features of your framework * might make it un-compatible with other features of your framework
* like ESI support. * like ESI support.
*
* @return Request|null
*/ */
public function getMasterRequest() public function getMainRequest(): ?Request
{ {
if (!$this->requests) { if (!$this->requests) {
return null; return null;
@ -82,6 +80,20 @@ class RequestStack
return $this->requests[0]; return $this->requests[0];
} }
/**
* Gets the master request.
*
* @return Request|null
*
* @deprecated since symfony/http-foundation 5.3, use getMainRequest() instead
*/
public function getMasterRequest()
{
trigger_deprecation('symfony/http-foundation', '5.3', '"%s()" is deprecated, use "getMainRequest()" instead.', __METHOD__);
return $this->getMainRequest();
}
/** /**
* Returns the parent request of the current. * Returns the parent request of the current.
* *
@ -89,7 +101,7 @@ class RequestStack
* might make it un-compatible with other features of your framework * might make it un-compatible with other features of your framework
* like ESI support. * like ESI support.
* *
* If current Request is the master request, it returns null. * If current Request is the main request, it returns null.
* *
* @return Request|null * @return Request|null
*/ */

View File

@ -35,6 +35,6 @@ class SessionFactory
public function createSession(): SessionInterface public function createSession(): SessionInterface
{ {
return new Session($this->storageFactory->createStorage($this->requestStack->getMasterRequest()), null, null, $this->usageReporter); return new Session($this->storageFactory->createStorage($this->requestStack->getMainRequest()), null, null, $this->usageReporter);
} }
} }

View File

@ -12,11 +12,14 @@
namespace Symfony\Component\HttpFoundation\Tests; namespace Symfony\Component\HttpFoundation\Tests;
use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestCase;
use Symfony\Bridge\PhpUnit\ExpectDeprecationTrait;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpFoundation\RequestStack;
class RequestStackTest extends TestCase class RequestStackTest extends TestCase
{ {
use ExpectDeprecationTrait;
public function testGetCurrentRequest() public function testGetCurrentRequest()
{ {
$requestStack = new RequestStack(); $requestStack = new RequestStack();
@ -33,6 +36,23 @@ class RequestStackTest extends TestCase
$this->assertNull($requestStack->pop()); $this->assertNull($requestStack->pop());
} }
public function testGetMainRequest()
{
$requestStack = new RequestStack();
$this->assertNull($requestStack->getMainRequest());
$mainRequest = Request::create('/foo');
$subRequest = Request::create('/bar');
$requestStack->push($mainRequest);
$requestStack->push($subRequest);
$this->assertSame($mainRequest, $requestStack->getMainRequest());
}
/**
* @group legacy
*/
public function testGetMasterRequest() public function testGetMasterRequest()
{ {
$requestStack = new RequestStack(); $requestStack = new RequestStack();
@ -44,6 +64,7 @@ class RequestStackTest extends TestCase
$requestStack->push($masterRequest); $requestStack->push($masterRequest);
$requestStack->push($subRequest); $requestStack->push($subRequest);
$this->expectDeprecation('Since symfony/http-foundation 5.3: "Symfony\Component\HttpFoundation\RequestStack::getMasterRequest()" is deprecated, use "getMainRequest()" instead.');
$this->assertSame($masterRequest, $requestStack->getMasterRequest()); $this->assertSame($masterRequest, $requestStack->getMasterRequest());
} }
@ -52,15 +73,15 @@ class RequestStackTest extends TestCase
$requestStack = new RequestStack(); $requestStack = new RequestStack();
$this->assertNull($requestStack->getParentRequest()); $this->assertNull($requestStack->getParentRequest());
$masterRequest = Request::create('/foo'); $mainRequest = Request::create('/foo');
$requestStack->push($masterRequest); $requestStack->push($mainRequest);
$this->assertNull($requestStack->getParentRequest()); $this->assertNull($requestStack->getParentRequest());
$firstSubRequest = Request::create('/bar'); $firstSubRequest = Request::create('/bar');
$requestStack->push($firstSubRequest); $requestStack->push($firstSubRequest);
$this->assertSame($masterRequest, $requestStack->getParentRequest()); $this->assertSame($mainRequest, $requestStack->getParentRequest());
$secondSubRequest = Request::create('/baz'); $secondSubRequest = Request::create('/baz');

View File

@ -35,7 +35,7 @@ final class UrlHelper
return $path; return $path;
} }
if (null === $request = $this->requestStack->getMasterRequest()) { if (null === $request = $this->requestStack->getMainRequest()) {
return $this->getAbsoluteUrlFromContext($path); return $this->getAbsoluteUrlFromContext($path);
} }
@ -64,7 +64,7 @@ final class UrlHelper
return $path; return $path;
} }
if (null === $request = $this->requestStack->getMasterRequest()) { if (null === $request = $this->requestStack->getMainRequest()) {
return $path; return $path;
} }

View File

@ -9,6 +9,8 @@ CHANGELOG
* Deprecate `ArgumentMetadata::getAttribute()`, use `getAttributes()` instead * Deprecate `ArgumentMetadata::getAttribute()`, use `getAttributes()` instead
* Mark the class `Symfony\Component\HttpKernel\EventListener\DebugHandlersListener` as internal * Mark the class `Symfony\Component\HttpKernel\EventListener\DebugHandlersListener` as internal
* Deprecate returning a `ContainerBuilder` from `KernelInterface::registerContainerConfiguration()` * Deprecate returning a `ContainerBuilder` from `KernelInterface::registerContainerConfiguration()`
* Deprecate `HttpKernelInterface::MASTER_REQUEST` and add `HttpKernelInterface::MAIN_REQUEST` as replacement
* Deprecate `KernelEvent::isMasterRequest()` and add `isMainRequest()` as replacement
5.2.0 5.2.0
----- -----

View File

@ -107,7 +107,7 @@ class DumpDataCollector extends DataCollector implements DataDumperInterface
} }
// Sub-requests and programmatic calls stay in the collected profile. // Sub-requests and programmatic calls stay in the collected profile.
if ($this->dumper || ($this->requestStack && $this->requestStack->getMasterRequest() !== $request) || $request->isXmlHttpRequest() || $request->headers->has('Origin')) { if ($this->dumper || ($this->requestStack && $this->requestStack->getMainRequest() !== $request) || $request->isXmlHttpRequest() || $request->headers->has('Origin')) {
return; return;
} }

View File

@ -42,7 +42,7 @@ class EventDataCollector extends DataCollector implements LateDataCollectorInter
*/ */
public function collect(Request $request, Response $response, \Throwable $exception = null) public function collect(Request $request, Response $response, \Throwable $exception = null)
{ {
$this->currentRequest = $this->requestStack && $this->requestStack->getMasterRequest() !== $request ? $request : null; $this->currentRequest = $this->requestStack && $this->requestStack->getMainRequest() !== $request ? $request : null;
$this->data = [ $this->data = [
'called_listeners' => [], 'called_listeners' => [],
'not_called_listeners' => [], 'not_called_listeners' => [],

View File

@ -46,7 +46,7 @@ class LoggerDataCollector extends DataCollector implements LateDataCollectorInte
*/ */
public function collect(Request $request, Response $response, \Throwable $exception = null) public function collect(Request $request, Response $response, \Throwable $exception = null)
{ {
$this->currentRequest = $this->requestStack && $this->requestStack->getMasterRequest() !== $request ? $request : null; $this->currentRequest = $this->requestStack && $this->requestStack->getMainRequest() !== $request ? $request : null;
} }
/** /**

View File

@ -106,7 +106,7 @@ class RequestDataCollector extends DataCollector implements EventSubscriberInter
'session_metadata' => $sessionMetadata, 'session_metadata' => $sessionMetadata,
'session_attributes' => $sessionAttributes, 'session_attributes' => $sessionAttributes,
'session_usages' => array_values($this->sessionUsages), 'session_usages' => array_values($this->sessionUsages),
'stateless_check' => $this->requestStack && $this->requestStack->getMasterRequest()->attributes->get('_stateless', false), 'stateless_check' => $this->requestStack && $this->requestStack->getMainRequest()->attributes->get('_stateless', false),
'flashes' => $flashes, 'flashes' => $flashes,
'path_info' => $request->getPathInfo(), 'path_info' => $request->getPathInfo(),
'controller' => 'n/a', 'controller' => 'n/a',
@ -374,7 +374,7 @@ class RequestDataCollector extends DataCollector implements EventSubscriberInter
public function onKernelResponse(ResponseEvent $event) public function onKernelResponse(ResponseEvent $event)
{ {
if (!$event->isMasterRequest()) { if (!$event->isMainRequest()) {
return; return;
} }

View File

@ -91,7 +91,7 @@ class FileLinkFormatter
} }
if ($this->requestStack && $this->baseDir && $this->urlFormat) { if ($this->requestStack && $this->baseDir && $this->urlFormat) {
$request = $this->requestStack->getMasterRequest(); $request = $this->requestStack->getMainRequest();
if ($request instanceof Request && (!$this->urlFormat instanceof \Closure || $this->urlFormat = ($this->urlFormat)())) { if ($request instanceof Request && (!$this->urlFormat instanceof \Closure || $this->urlFormat = ($this->urlFormat)())) {
return [ return [

View File

@ -28,7 +28,7 @@ class KernelEvent extends Event
/** /**
* @param int $requestType The request type the kernel is currently processing; one of * @param int $requestType The request type the kernel is currently processing; one of
* HttpKernelInterface::MASTER_REQUEST or HttpKernelInterface::SUB_REQUEST * HttpKernelInterface::MAIN_REQUEST or HttpKernelInterface::SUB_REQUEST
*/ */
public function __construct(HttpKernelInterface $kernel, Request $request, ?int $requestType) public function __construct(HttpKernelInterface $kernel, Request $request, ?int $requestType)
{ {
@ -60,7 +60,7 @@ class KernelEvent extends Event
/** /**
* Returns the request type the kernel is currently processing. * Returns the request type the kernel is currently processing.
* *
* @return int One of HttpKernelInterface::MASTER_REQUEST and * @return int One of HttpKernelInterface::MAIN_REQUEST and
* HttpKernelInterface::SUB_REQUEST * HttpKernelInterface::SUB_REQUEST
*/ */
public function getRequestType() public function getRequestType()
@ -68,13 +68,25 @@ class KernelEvent extends Event
return $this->requestType; return $this->requestType;
} }
/**
* Checks if this is the main request.
*/
public function isMainRequest(): bool
{
return HttpKernelInterface::MAIN_REQUEST === $this->requestType;
}
/** /**
* Checks if this is a master request. * Checks if this is a master request.
* *
* @return bool True if the request is a master request * @return bool True if the request is a master request
*
* @deprecated since symfony/http-kernel 5.3, use isMainRequest() instead
*/ */
public function isMasterRequest() public function isMasterRequest()
{ {
return HttpKernelInterface::MASTER_REQUEST === $this->requestType; trigger_deprecation('symfony/http-kernel', '5.3', '"%s()" is deprecated, use "isMainRequest()" instead.');
return $this->isMainRequest();
} }
} }

View File

@ -18,8 +18,8 @@ use Symfony\Component\HttpKernel\HttpKernelInterface;
/** /**
* Allows to execute logic after a response was sent. * Allows to execute logic after a response was sent.
* *
* Since it's only triggered on master requests, the `getRequestType()` method * Since it's only triggered on main requests, the `getRequestType()` method
* will always return the value of `HttpKernelInterface::MASTER_REQUEST`. * will always return the value of `HttpKernelInterface::MAIN_REQUEST`.
* *
* @author Jordi Boggiano <j.boggiano@seld.be> * @author Jordi Boggiano <j.boggiano@seld.be>
*/ */
@ -29,7 +29,7 @@ final class TerminateEvent extends KernelEvent
public function __construct(HttpKernelInterface $kernel, Request $request, Response $response) public function __construct(HttpKernelInterface $kernel, Request $request, Response $response)
{ {
parent::__construct($kernel, $request, HttpKernelInterface::MASTER_REQUEST); parent::__construct($kernel, $request, HttpKernelInterface::MAIN_REQUEST);
$this->response = $response; $this->response = $response;
} }

View File

@ -52,7 +52,7 @@ abstract class AbstractSessionListener implements EventSubscriberInterface
public function onKernelRequest(RequestEvent $event) public function onKernelRequest(RequestEvent $event)
{ {
if (!$event->isMasterRequest()) { if (!$event->isMainRequest()) {
return; return;
} }
@ -69,7 +69,7 @@ abstract class AbstractSessionListener implements EventSubscriberInterface
public function onKernelResponse(ResponseEvent $event) public function onKernelResponse(ResponseEvent $event)
{ {
if (!$event->isMasterRequest()) { if (!$event->isMainRequest()) {
return; return;
} }
@ -138,7 +138,7 @@ abstract class AbstractSessionListener implements EventSubscriberInterface
public function onFinishRequest(FinishRequestEvent $event) public function onFinishRequest(FinishRequestEvent $event)
{ {
if ($event->isMasterRequest()) { if ($event->isMainRequest()) {
array_pop($this->sessionUsageStack); array_pop($this->sessionUsageStack);
} }
} }

View File

@ -41,7 +41,7 @@ abstract class AbstractTestSessionListener implements EventSubscriberInterface
public function onKernelRequest(RequestEvent $event) public function onKernelRequest(RequestEvent $event)
{ {
if (!$event->isMasterRequest()) { if (!$event->isMainRequest()) {
return; return;
} }
@ -59,12 +59,12 @@ abstract class AbstractTestSessionListener implements EventSubscriberInterface
} }
/** /**
* Checks if session was initialized and saves if current request is master * Checks if session was initialized and saves if current request is the main request
* Runs on 'kernel.response' in test environment. * Runs on 'kernel.response' in test environment.
*/ */
public function onKernelResponse(ResponseEvent $event) public function onKernelResponse(ResponseEvent $event)
{ {
if (!$event->isMasterRequest()) { if (!$event->isMainRequest()) {
return; return;
} }

View File

@ -76,7 +76,7 @@ class DebugHandlersListener implements EventSubscriberInterface
if ($event instanceof ConsoleEvent && !\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true)) { if ($event instanceof ConsoleEvent && !\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true)) {
return; return;
} }
if (!$event instanceof KernelEvent ? !$this->firstCall : !$event->isMasterRequest()) { if (!$event instanceof KernelEvent ? !$this->firstCall : !$event->isMainRequest()) {
return; return;
} }
$this->firstCall = $this->hasTerminatedWithException = false; $this->firstCall = $this->hasTerminatedWithException = false;

View File

@ -65,7 +65,7 @@ class FragmentListener implements EventSubscriberInterface
return; return;
} }
if ($event->isMasterRequest()) { if ($event->isMainRequest()) {
$this->validateRequest($request); $this->validateRequest($request);
} }

View File

@ -32,22 +32,22 @@ class ProfilerListener implements EventSubscriberInterface
protected $profiler; protected $profiler;
protected $matcher; protected $matcher;
protected $onlyException; protected $onlyException;
protected $onlyMasterRequests; protected $onlyMainRequests;
protected $exception; protected $exception;
protected $profiles; protected $profiles;
protected $requestStack; protected $requestStack;
protected $parents; protected $parents;
/** /**
* @param bool $onlyException True if the profiler only collects data when an exception occurs, false otherwise * @param bool $onlyException True if the profiler only collects data when an exception occurs, false otherwise
* @param bool $onlyMasterRequests True if the profiler only collects data when the request is a master request, false otherwise * @param bool $onlyMainRequests True if the profiler only collects data when the request is the main request, false otherwise
*/ */
public function __construct(Profiler $profiler, RequestStack $requestStack, RequestMatcherInterface $matcher = null, bool $onlyException = false, bool $onlyMasterRequests = false) public function __construct(Profiler $profiler, RequestStack $requestStack, RequestMatcherInterface $matcher = null, bool $onlyException = false, bool $onlyMainRequests = false)
{ {
$this->profiler = $profiler; $this->profiler = $profiler;
$this->matcher = $matcher; $this->matcher = $matcher;
$this->onlyException = $onlyException; $this->onlyException = $onlyException;
$this->onlyMasterRequests = $onlyMasterRequests; $this->onlyMainRequests = $onlyMainRequests;
$this->profiles = new \SplObjectStorage(); $this->profiles = new \SplObjectStorage();
$this->parents = new \SplObjectStorage(); $this->parents = new \SplObjectStorage();
$this->requestStack = $requestStack; $this->requestStack = $requestStack;
@ -58,7 +58,7 @@ class ProfilerListener implements EventSubscriberInterface
*/ */
public function onKernelException(ExceptionEvent $event) public function onKernelException(ExceptionEvent $event)
{ {
if ($this->onlyMasterRequests && !$event->isMasterRequest()) { if ($this->onlyMainRequests && !$event->isMainRequest()) {
return; return;
} }
@ -70,8 +70,7 @@ class ProfilerListener implements EventSubscriberInterface
*/ */
public function onKernelResponse(ResponseEvent $event) public function onKernelResponse(ResponseEvent $event)
{ {
$master = $event->isMasterRequest(); if ($this->onlyMainRequests && !$event->isMainRequest()) {
if ($this->onlyMasterRequests && !$master) {
return; return;
} }

View File

@ -36,7 +36,7 @@ class ResponseListener implements EventSubscriberInterface
*/ */
public function onKernelResponse(ResponseEvent $event) public function onKernelResponse(ResponseEvent $event)
{ {
if (!$event->isMasterRequest()) { if (!$event->isMainRequest()) {
return; return;
} }

View File

@ -21,7 +21,7 @@ use Symfony\Component\HttpKernel\Event\RequestEvent;
* *
* When the passed container contains a "session_storage" entry which * When the passed container contains a "session_storage" entry which
* holds a NativeSessionStorage instance, the "cookie_secure" option * holds a NativeSessionStorage instance, the "cookie_secure" option
* will be set to true whenever the current master request is secure. * will be set to true whenever the current main request is secure.
* *
* @author Fabien Potencier <fabien@symfony.com> * @author Fabien Potencier <fabien@symfony.com>
* *
@ -38,14 +38,14 @@ class SessionListener extends AbstractSessionListener
{ {
parent::onKernelRequest($event); parent::onKernelRequest($event);
if (!$event->isMasterRequest() || !$this->container->has('session')) { if (!$event->isMainRequest() || !$this->container->has('session')) {
return; return;
} }
if ($this->container->has('session_storage') if ($this->container->has('session_storage')
&& ($storage = $this->container->get('session_storage')) instanceof NativeSessionStorage && ($storage = $this->container->get('session_storage')) instanceof NativeSessionStorage
&& ($masterRequest = $this->container->get('request_stack')->getMasterRequest()) && ($mainRequest = $this->container->get('request_stack')->getMainRequest())
&& $masterRequest->isSecure() && $mainRequest->isSecure()
) { ) {
$storage->setOptions(['cookie_secure' => true]); $storage->setOptions(['cookie_secure' => true]);
} }

View File

@ -31,7 +31,7 @@ class StreamedResponseListener implements EventSubscriberInterface
*/ */
public function onKernelResponse(ResponseEvent $event) public function onKernelResponse(ResponseEvent $event)
{ {
if (!$event->isMasterRequest()) { if (!$event->isMainRequest()) {
return; return;
} }

View File

@ -38,7 +38,7 @@ class SurrogateListener implements EventSubscriberInterface
*/ */
public function onKernelResponse(ResponseEvent $event) public function onKernelResponse(ResponseEvent $event)
{ {
if (!$event->isMasterRequest()) { if (!$event->isMainRequest()) {
return; return;
} }

View File

@ -29,7 +29,7 @@ class ValidateRequestListener implements EventSubscriberInterface
*/ */
public function onKernelRequest(RequestEvent $event) public function onKernelRequest(RequestEvent $event)
{ {
if (!$event->isMasterRequest()) { if (!$event->isMainRequest()) {
return; return;
} }
$request = $event->getRequest(); $request = $event->getRequest();

View File

@ -66,7 +66,7 @@ class FragmentHandler
* @return string|null The Response content or null when the Response is streamed * @return string|null The Response content or null when the Response is streamed
* *
* @throws \InvalidArgumentException when the renderer does not exist * @throws \InvalidArgumentException when the renderer does not exist
* @throws \LogicException when no master request is being handled * @throws \LogicException when no main request is being handled
*/ */
public function render($uri, string $renderer = 'inline', array $options = []) public function render($uri, string $renderer = 'inline', array $options = [])
{ {

View File

@ -44,7 +44,7 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
* will try to carry on and deliver a meaningful response. * will try to carry on and deliver a meaningful response.
* *
* * trace_level May be one of 'none', 'short' and 'full'. For 'short', a concise trace of the * * trace_level May be one of 'none', 'short' and 'full'. For 'short', a concise trace of the
* master request will be added as an HTTP header. 'full' will add traces for all * main request will be added as an HTTP header. 'full' will add traces for all
* requests (including ESI subrequests). (default: 'full' if in debug; 'none' otherwise) * requests (including ESI subrequests). (default: 'full' if in debug; 'none' otherwise)
* *
* * trace_header Header name to use for traces. (default: X-Symfony-Cache) * * trace_header Header name to use for traces. (default: X-Symfony-Cache)
@ -156,7 +156,7 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
} }
/** /**
* Gets the Request instance associated with the master request. * Gets the Request instance associated with the main request.
* *
* @return Request A Request instance * @return Request A Request instance
*/ */
@ -190,10 +190,10 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function handle(Request $request, int $type = HttpKernelInterface::MASTER_REQUEST, bool $catch = true) public function handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true)
{ {
// FIXME: catch exceptions and implement a 500 error page here? -> in Varnish, there is a built-in error page mechanism // FIXME: catch exceptions and implement a 500 error page here? -> in Varnish, there is a built-in error page mechanism
if (HttpKernelInterface::MASTER_REQUEST === $type) { if (HttpKernelInterface::MAIN_REQUEST === $type) {
$this->traces = []; $this->traces = [];
// Keep a clone of the original request for surrogates so they can access it. // Keep a clone of the original request for surrogates so they can access it.
// We must clone here to get a separate instance because the application will modify the request during // We must clone here to get a separate instance because the application will modify the request during
@ -224,12 +224,12 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
$this->restoreResponseBody($request, $response); $this->restoreResponseBody($request, $response);
if (HttpKernelInterface::MASTER_REQUEST === $type) { if (HttpKernelInterface::MAIN_REQUEST === $type) {
$this->addTraces($response); $this->addTraces($response);
} }
if (null !== $this->surrogate) { if (null !== $this->surrogate) {
if (HttpKernelInterface::MASTER_REQUEST === $type) { if (HttpKernelInterface::MAIN_REQUEST === $type) {
$this->surrogateCacheStrategy->update($response); $this->surrogateCacheStrategy->update($response);
} else { } else {
$this->surrogateCacheStrategy->add($response); $this->surrogateCacheStrategy->add($response);
@ -474,7 +474,7 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
} }
// always a "master" request (as the real master request can be in cache) // always a "master" request (as the real master request can be in cache)
$response = SubRequestHandler::handle($this->kernel, $request, HttpKernelInterface::MASTER_REQUEST, $catch); $response = SubRequestHandler::handle($this->kernel, $request, HttpKernelInterface::MAIN_REQUEST, $catch);
/* /*
* Support stale-if-error given on Responses or as a config option. * Support stale-if-error given on Responses or as a config option.

View File

@ -17,7 +17,7 @@ use Symfony\Component\HttpFoundation\Response;
* ResponseCacheStrategy knows how to compute the Response cache HTTP header * ResponseCacheStrategy knows how to compute the Response cache HTTP header
* based on the different response cache headers. * based on the different response cache headers.
* *
* This implementation changes the master response TTL to the smallest TTL received * This implementation changes the main response TTL to the smallest TTL received
* or force validation if one of the surrogates has validation cache strategy. * or force validation if one of the surrogates has validation cache strategy.
* *
* @author Fabien Potencier <fabien@symfony.com> * @author Fabien Potencier <fabien@symfony.com>

View File

@ -42,7 +42,7 @@ final class HttpClientKernel implements HttpKernelInterface
$this->client = $client ?? HttpClient::create(); $this->client = $client ?? HttpClient::create();
} }
public function handle(Request $request, int $type = HttpKernelInterface::MASTER_REQUEST, bool $catch = true): Response public function handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response
{ {
$headers = $this->getHeaders($request); $headers = $this->getHeaders($request);
$body = ''; $body = '';

View File

@ -71,7 +71,7 @@ class HttpKernel implements HttpKernelInterface, TerminableInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function handle(Request $request, int $type = HttpKernelInterface::MASTER_REQUEST, bool $catch = true) public function handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true)
{ {
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level()); $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
@ -104,11 +104,11 @@ class HttpKernel implements HttpKernelInterface, TerminableInterface
*/ */
public function terminateWithException(\Throwable $exception, Request $request = null) public function terminateWithException(\Throwable $exception, Request $request = null)
{ {
if (!$request = $request ?: $this->requestStack->getMasterRequest()) { if (!$request = $request ?: $this->requestStack->getMainRequest()) {
throw $exception; throw $exception;
} }
$response = $this->handleThrowable($exception, $request, self::MASTER_REQUEST); $response = $this->handleThrowable($exception, $request, self::MAIN_REQUEST);
$response->sendHeaders(); $response->sendHeaders();
$response->sendContent(); $response->sendContent();
@ -124,7 +124,7 @@ class HttpKernel implements HttpKernelInterface, TerminableInterface
* @throws \LogicException If one of the listener does not behave as expected * @throws \LogicException If one of the listener does not behave as expected
* @throws NotFoundHttpException When controller cannot be found * @throws NotFoundHttpException When controller cannot be found
*/ */
private function handleRaw(Request $request, int $type = self::MASTER_REQUEST): Response private function handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response
{ {
$this->requestStack->push($request); $this->requestStack->push($request);

View File

@ -60,7 +60,7 @@ class HttpKernelBrowser extends AbstractBrowser
*/ */
protected function doRequest($request) protected function doRequest($request)
{ {
$response = $this->kernel->handle($request, HttpKernelInterface::MASTER_REQUEST, $this->catchExceptions); $response = $this->kernel->handle($request, HttpKernelInterface::MAIN_REQUEST, $this->catchExceptions);
if ($this->kernel instanceof TerminableInterface) { if ($this->kernel instanceof TerminableInterface) {
$this->kernel->terminate($request, $response); $this->kernel->terminate($request, $response);

View File

@ -21,9 +21,15 @@ use Symfony\Component\HttpFoundation\Response;
*/ */
interface HttpKernelInterface interface HttpKernelInterface
{ {
public const MASTER_REQUEST = 1; public const MAIN_REQUEST = 1;
public const SUB_REQUEST = 2; public const SUB_REQUEST = 2;
/**
* @deprecated since symfony/http-kernel 5.3, use MAIN_REQUEST instead.
* To ease the migration, this constant won't be removed until Symfony 7.0.
*/
public const MASTER_REQUEST = self::MAIN_REQUEST;
/** /**
* Handles a Request to convert it to a Response. * Handles a Request to convert it to a Response.
* *
@ -31,12 +37,12 @@ interface HttpKernelInterface
* and do its best to convert them to a Response instance. * and do its best to convert them to a Response instance.
* *
* @param int $type The type of the request * @param int $type The type of the request
* (one of HttpKernelInterface::MASTER_REQUEST or HttpKernelInterface::SUB_REQUEST) * (one of HttpKernelInterface::MAIN_REQUEST or HttpKernelInterface::SUB_REQUEST)
* @param bool $catch Whether to catch exceptions or not * @param bool $catch Whether to catch exceptions or not
* *
* @return Response A Response instance * @return Response A Response instance
* *
* @throws \Exception When an Exception occurs during processing * @throws \Exception When an Exception occurs during processing
*/ */
public function handle(Request $request, int $type = self::MASTER_REQUEST, bool $catch = true); public function handle(Request $request, int $type = self::MAIN_REQUEST, bool $catch = true);
} }

View File

@ -177,7 +177,7 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function handle(Request $request, int $type = HttpKernelInterface::MASTER_REQUEST, bool $catch = true) public function handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true)
{ {
if (!$this->booted) { if (!$this->booted) {
$container = $this->container ?? $this->preBoot(); $container = $this->container ?? $this->preBoot();

View File

@ -45,11 +45,11 @@ class LoggerDataCollectorTest extends TestCase
], $compilerLogs['Unknown Compiler Pass']); ], $compilerLogs['Unknown Compiler Pass']);
} }
public function testWithMasterRequest() public function testWithMainRequest()
{ {
$masterRequest = new Request(); $mainRequest = new Request();
$stack = new RequestStack(); $stack = new RequestStack();
$stack->push($masterRequest); $stack->push($mainRequest);
$logger = $this $logger = $this
->getMockBuilder(DebugLoggerInterface::class) ->getMockBuilder(DebugLoggerInterface::class)
@ -60,16 +60,16 @@ class LoggerDataCollectorTest extends TestCase
$c = new LoggerDataCollector($logger, __DIR__.'/', $stack); $c = new LoggerDataCollector($logger, __DIR__.'/', $stack);
$c->collect($masterRequest, new Response()); $c->collect($mainRequest, new Response());
$c->lateCollect(); $c->lateCollect();
} }
public function testWithSubRequest() public function testWithSubRequest()
{ {
$masterRequest = new Request(); $mainRequest = new Request();
$subRequest = new Request(); $subRequest = new Request();
$stack = new RequestStack(); $stack = new RequestStack();
$stack->push($masterRequest); $stack->push($mainRequest);
$stack->push($subRequest); $stack->push($subRequest);
$logger = $this $logger = $this

View File

@ -210,7 +210,7 @@ class RequestDataCollectorTest extends TestCase
$kernel = $this->createMock(HttpKernelInterface::class); $kernel = $this->createMock(HttpKernelInterface::class);
$c = new RequestDataCollector(); $c = new RequestDataCollector();
$c->onKernelResponse(new ResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST, $this->createResponse())); $c->onKernelResponse(new ResponseEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST, $this->createResponse()));
$this->assertTrue($request->attributes->get('_redirected')); $this->assertTrue($request->attributes->get('_redirected'));
} }
@ -374,7 +374,7 @@ class RequestDataCollectorTest extends TestCase
{ {
$resolver = $this->createMock(ControllerResolverInterface::class); $resolver = $this->createMock(ControllerResolverInterface::class);
$httpKernel = new HttpKernel(new EventDispatcher(), $resolver, null, $this->createMock(ArgumentResolverInterface::class)); $httpKernel = new HttpKernel(new EventDispatcher(), $resolver, null, $this->createMock(ArgumentResolverInterface::class));
$event = new ControllerEvent($httpKernel, $controller, $request, HttpKernelInterface::MASTER_REQUEST); $event = new ControllerEvent($httpKernel, $controller, $request, HttpKernelInterface::MAIN_REQUEST);
$collector->onKernelController($event); $collector->onKernelController($event);
} }

View File

@ -70,7 +70,7 @@ class DebugHandlersListenerTest extends TestCase
$event = new KernelEvent( $event = new KernelEvent(
$this->createMock(HttpKernelInterface::class), $this->createMock(HttpKernelInterface::class),
Request::create('/'), Request::create('/'),
HttpKernelInterface::MASTER_REQUEST HttpKernelInterface::MAIN_REQUEST
); );
$exception = null; $exception = null;

View File

@ -29,7 +29,7 @@ class DisallowRobotsIndexingListenerTest extends TestCase
$response = new Response(...$responseArgs); $response = new Response(...$responseArgs);
$listener = new DisallowRobotsIndexingListener(); $listener = new DisallowRobotsIndexingListener();
$event = new ResponseEvent($this->createMock(HttpKernelInterface::class), $this->createMock(Request::class), KernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->createMock(HttpKernelInterface::class), $this->createMock(Request::class), KernelInterface::MAIN_REQUEST, $response);
$listener->onResponse($event); $listener->onResponse($event);

View File

@ -105,8 +105,8 @@ class ErrorListenerTest extends TestCase
$request = new Request(); $request = new Request();
$exception = new \Exception('foo'); $exception = new \Exception('foo');
$event = new ExceptionEvent(new TestKernel(), $request, HttpKernelInterface::MASTER_REQUEST, $exception); $event = new ExceptionEvent(new TestKernel(), $request, HttpKernelInterface::MAIN_REQUEST, $exception);
$event2 = new ExceptionEvent(new TestKernelThatThrowsException(), $request, HttpKernelInterface::MASTER_REQUEST, $exception); $event2 = new ExceptionEvent(new TestKernelThatThrowsException(), $request, HttpKernelInterface::MAIN_REQUEST, $exception);
return [ return [
[$event, $event2], [$event, $event2],
@ -125,7 +125,7 @@ class ErrorListenerTest extends TestCase
$request = Request::create('/'); $request = Request::create('/');
$request->setRequestFormat('xml'); $request->setRequestFormat('xml');
$event = new ExceptionEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST, new \Exception('foo')); $event = new ExceptionEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST, new \Exception('foo'));
$listener->onKernelException($event); $listener->onKernelException($event);
$response = $event->getResponse(); $response = $event->getResponse();
@ -145,13 +145,13 @@ class ErrorListenerTest extends TestCase
$dispatcher->addSubscriber($listener); $dispatcher->addSubscriber($listener);
$request = Request::create('/'); $request = Request::create('/');
$event = new ExceptionEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST, new \Exception('foo')); $event = new ExceptionEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST, new \Exception('foo'));
$dispatcher->dispatch($event, KernelEvents::EXCEPTION); $dispatcher->dispatch($event, KernelEvents::EXCEPTION);
$response = new Response('', 200, ['content-security-policy' => "style-src 'self'"]); $response = new Response('', 200, ['content-security-policy' => "style-src 'self'"]);
$this->assertTrue($response->headers->has('content-security-policy')); $this->assertTrue($response->headers->has('content-security-policy'));
$event = new ResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST, $response);
$dispatcher->dispatch($event, KernelEvents::RESPONSE); $dispatcher->dispatch($event, KernelEvents::RESPONSE);
$this->assertFalse($response->headers->has('content-security-policy'), 'CSP header has been removed'); $this->assertFalse($response->headers->has('content-security-policy'), 'CSP header has been removed');
@ -174,7 +174,7 @@ class ErrorListenerTest extends TestCase
return $controller(...$event->getArguments()); return $controller(...$event->getArguments());
}); });
$event = new ExceptionEvent($kernel, Request::create('/'), HttpKernelInterface::MASTER_REQUEST, new \Exception('foo')); $event = new ExceptionEvent($kernel, Request::create('/'), HttpKernelInterface::MAIN_REQUEST, new \Exception('foo'));
$listener->onKernelException($event); $listener->onKernelException($event);
$this->assertSame('OK: foo', $event->getResponse()->getContent()); $this->assertSame('OK: foo', $event->getResponse()->getContent());
@ -208,7 +208,7 @@ class TestLogger extends Logger implements DebugLoggerInterface
class TestKernel implements HttpKernelInterface class TestKernel implements HttpKernelInterface
{ {
public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true): Response public function handle(Request $request, $type = self::MAIN_REQUEST, $catch = true): Response
{ {
return new Response('foo'); return new Response('foo');
} }
@ -216,7 +216,7 @@ class TestKernel implements HttpKernelInterface
class TestKernelThatThrowsException implements HttpKernelInterface class TestKernelThatThrowsException implements HttpKernelInterface
{ {
public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true): Response public function handle(Request $request, $type = self::MAIN_REQUEST, $catch = true): Response
{ {
throw new \RuntimeException('bar'); throw new \RuntimeException('bar');
} }

View File

@ -112,7 +112,7 @@ class FragmentListenerTest extends TestCase
$this->assertFalse($request->query->has('_path')); $this->assertFalse($request->query->has('_path'));
} }
private function createRequestEvent(Request $request, $requestType = HttpKernelInterface::MASTER_REQUEST) private function createRequestEvent(Request $request, int $requestType = HttpKernelInterface::MAIN_REQUEST): RequestEvent
{ {
return new RequestEvent($this->createMock(HttpKernelInterface::class), $request, $requestType); return new RequestEvent($this->createMock(HttpKernelInterface::class), $request, $requestType);
} }

View File

@ -40,7 +40,7 @@ class LocaleAwareListenerTest extends TestCase
->method('setLocale') ->method('setLocale')
->with($this->equalTo('fr')); ->with($this->equalTo('fr'));
$event = new RequestEvent($this->createMock(HttpKernelInterface::class), $this->createRequest('fr'), HttpKernelInterface::MASTER_REQUEST); $event = new RequestEvent($this->createMock(HttpKernelInterface::class), $this->createRequest('fr'), HttpKernelInterface::MAIN_REQUEST);
$this->listener->onKernelRequest($event); $this->listener->onKernelRequest($event);
} }
@ -57,7 +57,7 @@ class LocaleAwareListenerTest extends TestCase
$this->throwException(new \InvalidArgumentException()) $this->throwException(new \InvalidArgumentException())
); );
$event = new RequestEvent($this->createMock(HttpKernelInterface::class), $this->createRequest('fr'), HttpKernelInterface::MASTER_REQUEST); $event = new RequestEvent($this->createMock(HttpKernelInterface::class), $this->createRequest('fr'), HttpKernelInterface::MAIN_REQUEST);
$this->listener->onKernelRequest($event); $this->listener->onKernelRequest($event);
} }

View File

@ -100,7 +100,7 @@ class LocaleListenerTest extends TestCase
$this->requestStack->expects($this->once())->method('getParentRequest')->willReturn($parentRequest); $this->requestStack->expects($this->once())->method('getParentRequest')->willReturn($parentRequest);
$event = new FinishRequestEvent($this->createMock(HttpKernelInterface::class), new Request(), HttpKernelInterface::MASTER_REQUEST); $event = new FinishRequestEvent($this->createMock(HttpKernelInterface::class), new Request(), HttpKernelInterface::MAIN_REQUEST);
$listener = new LocaleListener($this->requestStack, 'fr', $router); $listener = new LocaleListener($this->requestStack, 'fr', $router);
$listener->onKernelFinishRequest($event); $listener->onKernelFinishRequest($event);
@ -119,6 +119,6 @@ class LocaleListenerTest extends TestCase
private function getEvent(Request $request): RequestEvent private function getEvent(Request $request): RequestEvent
{ {
return new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST); return new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST);
} }
} }

View File

@ -28,7 +28,7 @@ use Symfony\Component\HttpKernel\Profiler\Profiler;
class ProfilerListenerTest extends TestCase class ProfilerListenerTest extends TestCase
{ {
/** /**
* Test a master and sub request with an exception and `onlyException` profiler option enabled. * Test a main and sub request with an exception and `onlyException` profiler option enabled.
*/ */
public function testKernelTerminate() public function testKernelTerminate()
{ {
@ -40,23 +40,23 @@ class ProfilerListenerTest extends TestCase
->willReturn($profile); ->willReturn($profile);
$kernel = $this->createMock(HttpKernelInterface::class); $kernel = $this->createMock(HttpKernelInterface::class);
$masterRequest = $this->createMock(Request::class); $mainRequest = $this->createMock(Request::class);
$subRequest = $this->createMock(Request::class); $subRequest = $this->createMock(Request::class);
$response = $this->createMock(Response::class); $response = $this->createMock(Response::class);
$requestStack = new RequestStack(); $requestStack = new RequestStack();
$requestStack->push($masterRequest); $requestStack->push($mainRequest);
$onlyException = true; $onlyException = true;
$listener = new ProfilerListener($profiler, $requestStack, null, $onlyException); $listener = new ProfilerListener($profiler, $requestStack, null, $onlyException);
// master request // main request
$listener->onKernelResponse(new ResponseEvent($kernel, $masterRequest, Kernel::MASTER_REQUEST, $response)); $listener->onKernelResponse(new ResponseEvent($kernel, $mainRequest, Kernel::MAIN_REQUEST, $response));
// sub request // sub request
$listener->onKernelException(new ExceptionEvent($kernel, $subRequest, Kernel::SUB_REQUEST, new HttpException(404))); $listener->onKernelException(new ExceptionEvent($kernel, $subRequest, Kernel::SUB_REQUEST, new HttpException(404)));
$listener->onKernelResponse(new ResponseEvent($kernel, $subRequest, Kernel::SUB_REQUEST, $response)); $listener->onKernelResponse(new ResponseEvent($kernel, $subRequest, Kernel::SUB_REQUEST, $response));
$listener->onKernelTerminate(new TerminateEvent($kernel, $masterRequest, $response)); $listener->onKernelTerminate(new TerminateEvent($kernel, $mainRequest, $response));
} }
} }

View File

@ -58,7 +58,7 @@ class ResponseListenerTest extends TestCase
$response = new Response('foo'); $response = new Response('foo');
$event = new ResponseEvent($this->kernel, Request::create('/'), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->kernel, Request::create('/'), HttpKernelInterface::MAIN_REQUEST, $response);
$this->dispatcher->dispatch($event, KernelEvents::RESPONSE); $this->dispatcher->dispatch($event, KernelEvents::RESPONSE);
$this->assertEquals('ISO-8859-15', $response->getCharset()); $this->assertEquals('ISO-8859-15', $response->getCharset());
@ -72,7 +72,7 @@ class ResponseListenerTest extends TestCase
$response = new Response('foo'); $response = new Response('foo');
$response->setCharset('ISO-8859-1'); $response->setCharset('ISO-8859-1');
$event = new ResponseEvent($this->kernel, Request::create('/'), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->kernel, Request::create('/'), HttpKernelInterface::MAIN_REQUEST, $response);
$this->dispatcher->dispatch($event, KernelEvents::RESPONSE); $this->dispatcher->dispatch($event, KernelEvents::RESPONSE);
$this->assertEquals('ISO-8859-1', $response->getCharset()); $this->assertEquals('ISO-8859-1', $response->getCharset());
@ -87,7 +87,7 @@ class ResponseListenerTest extends TestCase
$request = Request::create('/'); $request = Request::create('/');
$request->setRequestFormat('application/json'); $request->setRequestFormat('application/json');
$event = new ResponseEvent($this->kernel, $request, HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($this->kernel, $request, HttpKernelInterface::MAIN_REQUEST, $response);
$this->dispatcher->dispatch($event, KernelEvents::RESPONSE); $this->dispatcher->dispatch($event, KernelEvents::RESPONSE);
$this->assertEquals('ISO-8859-15', $response->getCharset()); $this->assertEquals('ISO-8859-15', $response->getCharset());

View File

@ -83,7 +83,7 @@ class RouterListenerTest extends TestCase
$request = Request::create($uri); $request = Request::create($uri);
$request->attributes->set('_controller', null); // Prevents going in to routing process $request->attributes->set('_controller', null); // Prevents going in to routing process
return new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST); return new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST);
} }
public function testInvalidMatcher() public function testInvalidMatcher()
@ -96,7 +96,7 @@ class RouterListenerTest extends TestCase
{ {
$kernel = $this->createMock(HttpKernelInterface::class); $kernel = $this->createMock(HttpKernelInterface::class);
$request = Request::create('http://localhost/'); $request = Request::create('http://localhost/');
$event = new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST); $event = new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST);
$requestMatcher = $this->createMock(RequestMatcherInterface::class); $requestMatcher = $this->createMock(RequestMatcherInterface::class);
$requestMatcher->expects($this->once()) $requestMatcher->expects($this->once())
@ -112,7 +112,7 @@ class RouterListenerTest extends TestCase
{ {
$kernel = $this->createMock(HttpKernelInterface::class); $kernel = $this->createMock(HttpKernelInterface::class);
$request = Request::create('http://localhost/', 'post'); $request = Request::create('http://localhost/', 'post');
$event = new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST); $event = new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST);
$requestMatcher = $this->createMock(RequestMatcherInterface::class); $requestMatcher = $this->createMock(RequestMatcherInterface::class);
$requestMatcher->expects($this->any()) $requestMatcher->expects($this->any())
@ -154,7 +154,7 @@ class RouterListenerTest extends TestCase
$request = Request::create('http://localhost/'); $request = Request::create('http://localhost/');
$listener = new RouterListener($requestMatcher, $this->requestStack, new RequestContext(), $logger); $listener = new RouterListener($requestMatcher, $this->requestStack, new RequestContext(), $logger);
$listener->onKernelRequest(new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST)); $listener->onKernelRequest(new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST));
} }
public function getLoggingParameterData() public function getLoggingParameterData()
@ -214,7 +214,7 @@ class RouterListenerTest extends TestCase
$this->expectException(BadRequestHttpException::class); $this->expectException(BadRequestHttpException::class);
$kernel = $this->createMock(HttpKernelInterface::class); $kernel = $this->createMock(HttpKernelInterface::class);
$request = Request::create('http://bad host %22/'); $request = Request::create('http://bad host %22/');
$event = new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST); $event = new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST);
$requestMatcher = $this->createMock(RequestMatcherInterface::class); $requestMatcher = $this->createMock(RequestMatcherInterface::class);
@ -243,7 +243,7 @@ class RouterListenerTest extends TestCase
$request = Request::create('https://www.symfony.com/path'); $request = Request::create('https://www.symfony.com/path');
$request->headers->set('referer', 'https://www.google.com'); $request->headers->set('referer', 'https://www.google.com');
$event = new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST); $event = new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST);
$listener = new RouterListener($urlMatcher, $this->requestStack); $listener = new RouterListener($urlMatcher, $this->requestStack);
$listener->onKernelRequest($event); $listener->onKernelRequest($event);
@ -269,7 +269,7 @@ class RouterListenerTest extends TestCase
$kernel = $this->createMock(HttpKernelInterface::class); $kernel = $this->createMock(HttpKernelInterface::class);
$request = Request::create('https://www.symfony.com/path'); $request = Request::create('https://www.symfony.com/path');
$event = new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST); $event = new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST);
$listener = new RouterListener($urlMatcher, $this->requestStack); $listener = new RouterListener($urlMatcher, $this->requestStack);
$listener->onKernelRequest($event); $listener->onKernelRequest($event);

View File

@ -32,11 +32,11 @@ use Symfony\Component\HttpKernel\KernelInterface;
class SessionListenerTest extends TestCase class SessionListenerTest extends TestCase
{ {
public function testOnlyTriggeredOnMasterRequest() public function testOnlyTriggeredOnMainRequest()
{ {
$listener = $this->getMockForAbstractClass(AbstractSessionListener::class); $listener = $this->getMockForAbstractClass(AbstractSessionListener::class);
$event = $this->createMock(RequestEvent::class); $event = $this->createMock(RequestEvent::class);
$event->expects($this->once())->method('isMasterRequest')->willReturn(false); $event->expects($this->once())->method('isMainRequest')->willReturn(false);
$event->expects($this->never())->method('getRequest'); $event->expects($this->never())->method('getRequest');
// sub request // sub request
@ -48,7 +48,7 @@ class SessionListenerTest extends TestCase
$session = $this->createMock(Session::class); $session = $this->createMock(Session::class);
$requestStack = $this->createMock(RequestStack::class); $requestStack = $this->createMock(RequestStack::class);
$requestStack->expects($this->once())->method('getMasterRequest')->willReturn(null); $requestStack->expects($this->once())->method('getMainRequest')->willReturn(null);
$sessionStorage = $this->createMock(NativeSessionStorage::class); $sessionStorage = $this->createMock(NativeSessionStorage::class);
$sessionStorage->expects($this->never())->method('setOptions')->with(['cookie_secure' => true]); $sessionStorage->expects($this->never())->method('setOptions')->with(['cookie_secure' => true]);
@ -62,7 +62,7 @@ class SessionListenerTest extends TestCase
$listener = new SessionListener($container); $listener = new SessionListener($container);
$event = $this->createMock(RequestEvent::class); $event = $this->createMock(RequestEvent::class);
$event->expects($this->exactly(2))->method('isMasterRequest')->willReturn(true); $event->expects($this->exactly(2))->method('isMainRequest')->willReturn(true);
$event->expects($this->once())->method('getRequest')->willReturn($request); $event->expects($this->once())->method('getRequest')->willReturn($request);
$listener->onKernelRequest($event); $listener->onKernelRequest($event);
@ -83,10 +83,10 @@ class SessionListenerTest extends TestCase
$kernel = $this->createMock(HttpKernelInterface::class); $kernel = $this->createMock(HttpKernelInterface::class);
$request = new Request(); $request = new Request();
$listener->onKernelRequest(new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST)); $listener->onKernelRequest(new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST));
$response = new Response(); $response = new Response();
$listener->onKernelResponse(new ResponseEvent($kernel, new Request(), HttpKernelInterface::MASTER_REQUEST, $response)); $listener->onKernelResponse(new ResponseEvent($kernel, new Request(), HttpKernelInterface::MAIN_REQUEST, $response));
$this->assertTrue($response->headers->has('Expires')); $this->assertTrue($response->headers->has('Expires'));
$this->assertTrue($response->headers->hasCacheControlDirective('private')); $this->assertTrue($response->headers->hasCacheControlDirective('private'));
@ -108,12 +108,12 @@ class SessionListenerTest extends TestCase
$kernel = $this->createMock(HttpKernelInterface::class); $kernel = $this->createMock(HttpKernelInterface::class);
$request = new Request(); $request = new Request();
$listener->onKernelRequest(new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST)); $listener->onKernelRequest(new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST));
$response = new Response(); $response = new Response();
$response->setSharedMaxAge(60); $response->setSharedMaxAge(60);
$response->headers->set(AbstractSessionListener::NO_AUTO_CACHE_CONTROL_HEADER, 'true'); $response->headers->set(AbstractSessionListener::NO_AUTO_CACHE_CONTROL_HEADER, 'true');
$listener->onKernelResponse(new ResponseEvent($kernel, new Request(), HttpKernelInterface::MASTER_REQUEST, $response)); $listener->onKernelResponse(new ResponseEvent($kernel, new Request(), HttpKernelInterface::MAIN_REQUEST, $response));
$this->assertTrue($response->headers->hasCacheControlDirective('public')); $this->assertTrue($response->headers->hasCacheControlDirective('public'));
$this->assertFalse($response->headers->has('Expires')); $this->assertFalse($response->headers->has('Expires'));
@ -135,7 +135,7 @@ class SessionListenerTest extends TestCase
]); ]);
$listener = new SessionListener($container); $listener = new SessionListener($container);
$listener->onKernelResponse(new ResponseEvent($kernel, new Request(), HttpKernelInterface::MASTER_REQUEST, $response)); $listener->onKernelResponse(new ResponseEvent($kernel, new Request(), HttpKernelInterface::MAIN_REQUEST, $response));
$this->assertFalse($response->headers->has('Expires')); $this->assertFalse($response->headers->has('Expires'));
$this->assertTrue($response->headers->hasCacheControlDirective('public')); $this->assertTrue($response->headers->hasCacheControlDirective('public'));
$this->assertFalse($response->headers->hasCacheControlDirective('private')); $this->assertFalse($response->headers->hasCacheControlDirective('private'));
@ -144,7 +144,7 @@ class SessionListenerTest extends TestCase
$this->assertFalse($response->headers->has(AbstractSessionListener::NO_AUTO_CACHE_CONTROL_HEADER)); $this->assertFalse($response->headers->has(AbstractSessionListener::NO_AUTO_CACHE_CONTROL_HEADER));
} }
public function testSurrogateMasterRequestIsPublic() public function testSurrogateMainRequestIsPublic()
{ {
$session = $this->createMock(Session::class); $session = $this->createMock(Session::class);
$session->expects($this->exactly(4))->method('getUsageIndex')->will($this->onConsecutiveCalls(0, 1, 1, 1)); $session->expects($this->exactly(4))->method('getUsageIndex')->will($this->onConsecutiveCalls(0, 1, 1, 1));
@ -159,21 +159,21 @@ class SessionListenerTest extends TestCase
$request = new Request(); $request = new Request();
$response = new Response(); $response = new Response();
$response->setCache(['public' => true, 'max_age' => '30']); $response->setCache(['public' => true, 'max_age' => '30']);
$listener->onKernelRequest(new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST)); $listener->onKernelRequest(new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST));
$this->assertTrue($request->hasSession()); $this->assertTrue($request->hasSession());
$subRequest = clone $request; $subRequest = clone $request;
$this->assertSame($request->getSession(), $subRequest->getSession()); $this->assertSame($request->getSession(), $subRequest->getSession());
$listener->onKernelRequest(new RequestEvent($kernel, $subRequest, HttpKernelInterface::MASTER_REQUEST)); $listener->onKernelRequest(new RequestEvent($kernel, $subRequest, HttpKernelInterface::MAIN_REQUEST));
$listener->onKernelResponse(new ResponseEvent($kernel, $subRequest, HttpKernelInterface::MASTER_REQUEST, $response)); $listener->onKernelResponse(new ResponseEvent($kernel, $subRequest, HttpKernelInterface::MAIN_REQUEST, $response));
$listener->onFinishRequest(new FinishRequestEvent($kernel, $subRequest, HttpKernelInterface::MASTER_REQUEST)); $listener->onFinishRequest(new FinishRequestEvent($kernel, $subRequest, HttpKernelInterface::MAIN_REQUEST));
$this->assertFalse($response->headers->has('Expires')); $this->assertFalse($response->headers->has('Expires'));
$this->assertFalse($response->headers->hasCacheControlDirective('private')); $this->assertFalse($response->headers->hasCacheControlDirective('private'));
$this->assertFalse($response->headers->hasCacheControlDirective('must-revalidate')); $this->assertFalse($response->headers->hasCacheControlDirective('must-revalidate'));
$this->assertSame('30', $response->headers->getCacheControlDirective('max-age')); $this->assertSame('30', $response->headers->getCacheControlDirective('max-age'));
$listener->onKernelResponse(new ResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST, $response)); $listener->onKernelResponse(new ResponseEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST, $response));
$this->assertTrue($response->headers->hasCacheControlDirective('private')); $this->assertTrue($response->headers->hasCacheControlDirective('private'));
$this->assertTrue($response->headers->hasCacheControlDirective('must-revalidate')); $this->assertTrue($response->headers->hasCacheControlDirective('must-revalidate'));
@ -194,14 +194,14 @@ class SessionListenerTest extends TestCase
->with(['cookie_secure' => true]); ->with(['cookie_secure' => true]);
$requestStack = new RequestStack(); $requestStack = new RequestStack();
$requestStack->push($masterRequest = new Request([], [], [], [], [], ['HTTPS' => 'on'])); $requestStack->push($mainRequest = new Request([], [], [], [], [], ['HTTPS' => 'on']));
$container = new Container(); $container = new Container();
$container->set('session_storage', $sessionStorage); $container->set('session_storage', $sessionStorage);
$container->set('session', $session); $container->set('session', $session);
$container->set('request_stack', $requestStack); $container->set('request_stack', $requestStack);
$event = new RequestEvent($kernel, $masterRequest, HttpKernelInterface::MASTER_REQUEST); $event = new RequestEvent($kernel, $mainRequest, HttpKernelInterface::MAIN_REQUEST);
$listener = new SessionListener($container); $listener = new SessionListener($container);
$listener->onKernelRequest($event); $listener->onKernelRequest($event);
@ -210,10 +210,10 @@ class SessionListenerTest extends TestCase
$container->set('session_storage', null); $container->set('session_storage', null);
$sessionStorage = null; $sessionStorage = null;
$subRequest = $masterRequest->duplicate(); $subRequest = $mainRequest->duplicate();
// at this point both master and subrequest have a closure to build the session // at this point both main and subrequest have a closure to build the session
$masterRequest->getSession(); $mainRequest->getSession();
// calling the factory on the subRequest should not trigger a second call to storage->setOptions() // calling the factory on the subRequest should not trigger a second call to storage->setOptions()
$subRequest->getSession(); $subRequest->getSession();
@ -232,10 +232,10 @@ class SessionListenerTest extends TestCase
$request = new Request(); $request = new Request();
$request->attributes->set('_stateless', true); $request->attributes->set('_stateless', true);
$listener->onKernelRequest(new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST)); $listener->onKernelRequest(new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST));
$this->expectException(UnexpectedSessionUsageException::class); $this->expectException(UnexpectedSessionUsageException::class);
$listener->onKernelResponse(new ResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST, new Response())); $listener->onKernelResponse(new ResponseEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST, new Response()));
} }
public function testSessionUsageLogIfStatelessAndSessionUsed() public function testSessionUsageLogIfStatelessAndSessionUsed()
@ -255,9 +255,9 @@ class SessionListenerTest extends TestCase
$request = new Request(); $request = new Request();
$request->attributes->set('_stateless', true); $request->attributes->set('_stateless', true);
$listener->onKernelRequest(new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST)); $listener->onKernelRequest(new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST));
$listener->onKernelResponse(new ResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST, new Response())); $listener->onKernelResponse(new ResponseEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST, new Response()));
} }
public function testSessionIsSavedWhenUnexpectedSessionExceptionThrown() public function testSessionIsSavedWhenUnexpectedSessionExceptionThrown()
@ -276,11 +276,11 @@ class SessionListenerTest extends TestCase
$request = new Request(); $request = new Request();
$request->attributes->set('_stateless', true); $request->attributes->set('_stateless', true);
$listener->onKernelRequest(new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST)); $listener->onKernelRequest(new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST));
$response = new Response(); $response = new Response();
$this->expectException(UnexpectedSessionUsageException::class); $this->expectException(UnexpectedSessionUsageException::class);
$listener->onKernelResponse(new ResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST, $response)); $listener->onKernelResponse(new ResponseEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST, $response));
} }
public function testSessionUsageCallbackWhenDebugAndStateless() public function testSessionUsageCallbackWhenDebugAndStateless()

View File

@ -45,7 +45,7 @@ class SurrogateListenerTest extends TestCase
$listener = new SurrogateListener(new Esi()); $listener = new SurrogateListener(new Esi());
$dispatcher->addListener(KernelEvents::RESPONSE, [$listener, 'onKernelResponse']); $dispatcher->addListener(KernelEvents::RESPONSE, [$listener, 'onKernelResponse']);
$event = new ResponseEvent($kernel, new Request(), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($kernel, new Request(), HttpKernelInterface::MAIN_REQUEST, $response);
$dispatcher->dispatch($event, KernelEvents::RESPONSE); $dispatcher->dispatch($event, KernelEvents::RESPONSE);
$this->assertEquals('content="ESI/1.0"', $event->getResponse()->headers->get('Surrogate-Control')); $this->assertEquals('content="ESI/1.0"', $event->getResponse()->headers->get('Surrogate-Control'));
@ -59,7 +59,7 @@ class SurrogateListenerTest extends TestCase
$listener = new SurrogateListener(new Esi()); $listener = new SurrogateListener(new Esi());
$dispatcher->addListener(KernelEvents::RESPONSE, [$listener, 'onKernelResponse']); $dispatcher->addListener(KernelEvents::RESPONSE, [$listener, 'onKernelResponse']);
$event = new ResponseEvent($kernel, new Request(), HttpKernelInterface::MASTER_REQUEST, $response); $event = new ResponseEvent($kernel, new Request(), HttpKernelInterface::MAIN_REQUEST, $response);
$dispatcher->dispatch($event, KernelEvents::RESPONSE); $dispatcher->dispatch($event, KernelEvents::RESPONSE);
$this->assertEquals('', $event->getResponse()->headers->get('Surrogate-Control')); $this->assertEquals('', $event->getResponse()->headers->get('Surrogate-Control'));

View File

@ -51,7 +51,7 @@ class TestSessionListenerTest extends TestCase
->willReturn($this->session); ->willReturn($this->session);
} }
public function testShouldSaveMasterRequestSession() public function testShouldSaveMainRequestSession()
{ {
$this->sessionHasBeenStarted(); $this->sessionHasBeenStarted();
$this->sessionMustBeSaved(); $this->sessionMustBeSaved();
@ -72,7 +72,7 @@ class TestSessionListenerTest extends TestCase
@ini_set('session.cookie_lifetime', 0); @ini_set('session.cookie_lifetime', 0);
$response = $this->filterResponse(new Request(), HttpKernelInterface::MASTER_REQUEST); $response = $this->filterResponse(new Request(), HttpKernelInterface::MAIN_REQUEST);
$cookies = $response->headers->getCookies(); $cookies = $response->headers->getCookies();
$this->assertEquals(0, reset($cookies)->getExpiresTime()); $this->assertEquals(0, reset($cookies)->getExpiresTime());
@ -86,7 +86,7 @@ class TestSessionListenerTest extends TestCase
$this->sessionHasBeenStarted(); $this->sessionHasBeenStarted();
$this->sessionIsEmpty(); $this->sessionIsEmpty();
$response = $this->filterResponse(new Request(), HttpKernelInterface::MASTER_REQUEST); $response = $this->filterResponse(new Request(), HttpKernelInterface::MAIN_REQUEST);
$this->assertSame([], $response->headers->getCookies()); $this->assertSame([], $response->headers->getCookies());
} }
@ -99,10 +99,10 @@ class TestSessionListenerTest extends TestCase
$kernel = $this->createMock(HttpKernelInterface::class); $kernel = $this->createMock(HttpKernelInterface::class);
$request = Request::create('/', 'GET', [], ['MOCKSESSID' => '123']); $request = Request::create('/', 'GET', [], ['MOCKSESSID' => '123']);
$event = new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST); $event = new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST);
$this->listener->onKernelRequest($event); $this->listener->onKernelRequest($event);
$response = $this->filterResponse(new Request(), HttpKernelInterface::MASTER_REQUEST); $response = $this->filterResponse(new Request(), HttpKernelInterface::MAIN_REQUEST);
$this->assertNotEmpty($response->headers->getCookies()); $this->assertNotEmpty($response->headers->getCookies());
} }
@ -118,12 +118,12 @@ class TestSessionListenerTest extends TestCase
$kernel = $this->createMock(HttpKernelInterface::class); $kernel = $this->createMock(HttpKernelInterface::class);
$request = Request::create('/', 'GET', [], ['MOCKSESSID' => '123']); $request = Request::create('/', 'GET', [], ['MOCKSESSID' => '123']);
$event = new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST); $event = new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST);
$this->listener->onKernelRequest($event); $this->listener->onKernelRequest($event);
$response = new Response('', 200, ['Set-Cookie' => $existing]); $response = new Response('', 200, ['Set-Cookie' => $existing]);
$response = $this->filterResponse(new Request(), HttpKernelInterface::MASTER_REQUEST, $response); $response = $this->filterResponse(new Request(), HttpKernelInterface::MAIN_REQUEST, $response);
$this->assertSame($expected, $response->headers->all()['set-cookie']); $this->assertSame($expected, $response->headers->all()['set-cookie']);
} }
@ -148,14 +148,14 @@ class TestSessionListenerTest extends TestCase
public function testDoesNotThrowIfRequestDoesNotHaveASession() public function testDoesNotThrowIfRequestDoesNotHaveASession()
{ {
$kernel = $this->createMock(HttpKernelInterface::class); $kernel = $this->createMock(HttpKernelInterface::class);
$event = new ResponseEvent($kernel, new Request(), HttpKernelInterface::MASTER_REQUEST, new Response()); $event = new ResponseEvent($kernel, new Request(), HttpKernelInterface::MAIN_REQUEST, new Response());
$this->listener->onKernelResponse($event); $this->listener->onKernelResponse($event);
$this->assertTrue(true); $this->assertTrue(true);
} }
private function filterResponse(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, Response $response = null) private function filterResponse(Request $request, $type = HttpKernelInterface::MAIN_REQUEST, Response $response = null)
{ {
$request->setSession($this->session); $request->setSession($this->session);
$response = $response ?: new Response(); $response = $response ?: new Response();

View File

@ -27,7 +27,7 @@ class ValidateRequestListenerTest extends TestCase
Request::setTrustedProxies([], -1); Request::setTrustedProxies([], -1);
} }
public function testListenerThrowsWhenMasterRequestHasInconsistentClientIps() public function testListenerThrowsWhenMainRequestHasInconsistentClientIps()
{ {
$this->expectException(ConflictingHeadersException::class); $this->expectException(ConflictingHeadersException::class);
$dispatcher = new EventDispatcher(); $dispatcher = new EventDispatcher();
@ -40,7 +40,7 @@ class ValidateRequestListenerTest extends TestCase
$request->headers->set('X_FORWARDED_FOR', '3.3.3.3'); $request->headers->set('X_FORWARDED_FOR', '3.3.3.3');
$dispatcher->addListener(KernelEvents::REQUEST, [new ValidateRequestListener(), 'onKernelRequest']); $dispatcher->addListener(KernelEvents::REQUEST, [new ValidateRequestListener(), 'onKernelRequest']);
$event = new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST); $event = new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST);
$dispatcher->dispatch($event, KernelEvents::REQUEST); $dispatcher->dispatch($event, KernelEvents::REQUEST);
} }

View File

@ -1209,7 +1209,7 @@ class HttpCacheTest extends HttpCacheTestCase
$responses = [ $responses = [
[ [
'status' => 200, 'status' => 200,
'body' => 'I am a long-lived master response, but I embed a short-lived resource: <esi:include src="/foo" />', 'body' => 'I am a long-lived main response, but I embed a short-lived resource: <esi:include src="/foo" />',
'headers' => [ 'headers' => [
'Cache-Control' => 's-maxage=300', 'Cache-Control' => 's-maxage=300',
'Surrogate-Control' => 'content="ESI/1.0"', 'Surrogate-Control' => 'content="ESI/1.0"',
@ -1267,7 +1267,7 @@ class HttpCacheTest extends HttpCacheTestCase
$responses = [ $responses = [
[ [
'status' => 200, 'status' => 200,
'body' => 'I am the master response and use expiration caching, but I embed another resource: <esi:include src="/foo" />', 'body' => 'I am the main response and use expiration caching, but I embed another resource: <esi:include src="/foo" />',
'headers' => [ 'headers' => [
'Cache-Control' => 's-maxage=300', 'Cache-Control' => 's-maxage=300',
'Surrogate-Control' => 'content="ESI/1.0"', 'Surrogate-Control' => 'content="ESI/1.0"',
@ -1511,7 +1511,7 @@ class HttpCacheTest extends HttpCacheTestCase
$request->server->set('REMOTE_ADDR', '10.0.0.1'); $request->server->set('REMOTE_ADDR', '10.0.0.1');
// Main request // Main request
$cache->handle($request, HttpKernelInterface::MASTER_REQUEST); $cache->handle($request, HttpKernelInterface::MAIN_REQUEST);
// Main request was now modified by HttpCache // Main request was now modified by HttpCache
// The surrogate will ask for the request using $this->cache->getRequest() // The surrogate will ask for the request using $this->cache->getRequest()
@ -1734,7 +1734,7 @@ class TestKernel implements HttpKernelInterface
$this->terminateCalled = true; $this->terminateCalled = true;
} }
public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true): Response public function handle(Request $request, $type = self::MAIN_REQUEST, $catch = true): Response
{ {
} }
} }

View File

@ -131,7 +131,7 @@ class HttpCacheTestCase extends TestCase
$this->request = Request::create($uri, $method, [], $cookies, [], $server); $this->request = Request::create($uri, $method, [], $cookies, [], $server);
$this->request->headers->add($headers); $this->request->headers->add($headers);
$this->response = $this->cache->handle($this->request, HttpKernelInterface::MASTER_REQUEST, $this->catch); $this->response = $this->cache->handle($this->request, HttpKernelInterface::MAIN_REQUEST, $this->catch);
$this->responses[] = $this->response; $this->responses[] = $this->response;
} }

View File

@ -58,7 +58,7 @@ class ResponseCacheStrategyTest extends TestCase
$this->assertFalse($response->headers->hasCacheControlDirective('s-maxage')); $this->assertFalse($response->headers->hasCacheControlDirective('s-maxage'));
} }
public function testSharedMaxAgeNotSetIfNotSetInMasterRequest() public function testSharedMaxAgeNotSetIfNotSetInMainRequest()
{ {
$cacheStrategy = new ResponseCacheStrategy(); $cacheStrategy = new ResponseCacheStrategy();
@ -76,7 +76,7 @@ class ResponseCacheStrategyTest extends TestCase
$this->assertFalse($response->headers->hasCacheControlDirective('s-maxage')); $this->assertFalse($response->headers->hasCacheControlDirective('s-maxage'));
} }
public function testMasterResponseNotCacheableWhenEmbeddedResponseRequiresValidation() public function testMainResponseNotCacheableWhenEmbeddedResponseRequiresValidation()
{ {
$cacheStrategy = new ResponseCacheStrategy(); $cacheStrategy = new ResponseCacheStrategy();
@ -84,66 +84,66 @@ class ResponseCacheStrategyTest extends TestCase
$embeddedResponse->setLastModified(new \DateTime()); $embeddedResponse->setLastModified(new \DateTime());
$cacheStrategy->add($embeddedResponse); $cacheStrategy->add($embeddedResponse);
$masterResponse = new Response(); $mainResponse = new Response();
$masterResponse->setSharedMaxAge(3600); $mainResponse->setSharedMaxAge(3600);
$cacheStrategy->update($masterResponse); $cacheStrategy->update($mainResponse);
$this->assertTrue($masterResponse->headers->hasCacheControlDirective('no-cache')); $this->assertTrue($mainResponse->headers->hasCacheControlDirective('no-cache'));
$this->assertTrue($masterResponse->headers->hasCacheControlDirective('must-revalidate')); $this->assertTrue($mainResponse->headers->hasCacheControlDirective('must-revalidate'));
$this->assertFalse($masterResponse->isFresh()); $this->assertFalse($mainResponse->isFresh());
} }
public function testValidationOnMasterResponseIsNotPossibleWhenItContainsEmbeddedResponses() public function testValidationOnMainResponseIsNotPossibleWhenItContainsEmbeddedResponses()
{ {
$cacheStrategy = new ResponseCacheStrategy(); $cacheStrategy = new ResponseCacheStrategy();
// This master response uses the "validation" model // This main response uses the "validation" model
$masterResponse = new Response(); $mainResponse = new Response();
$masterResponse->setLastModified(new \DateTime()); $mainResponse->setLastModified(new \DateTime());
$masterResponse->setEtag('foo'); $mainResponse->setEtag('foo');
// Embedded response uses "expiry" model // Embedded response uses "expiry" model
$embeddedResponse = new Response(); $embeddedResponse = new Response();
$masterResponse->setSharedMaxAge(3600); $mainResponse->setSharedMaxAge(3600);
$cacheStrategy->add($embeddedResponse); $cacheStrategy->add($embeddedResponse);
$cacheStrategy->update($masterResponse); $cacheStrategy->update($mainResponse);
$this->assertFalse($masterResponse->isValidateable()); $this->assertFalse($mainResponse->isValidateable());
$this->assertFalse($masterResponse->headers->has('Last-Modified')); $this->assertFalse($mainResponse->headers->has('Last-Modified'));
$this->assertFalse($masterResponse->headers->has('ETag')); $this->assertFalse($mainResponse->headers->has('ETag'));
$this->assertTrue($masterResponse->headers->hasCacheControlDirective('no-cache')); $this->assertTrue($mainResponse->headers->hasCacheControlDirective('no-cache'));
$this->assertTrue($masterResponse->headers->hasCacheControlDirective('must-revalidate')); $this->assertTrue($mainResponse->headers->hasCacheControlDirective('must-revalidate'));
} }
public function testMasterResponseWithValidationIsUnchangedWhenThereIsNoEmbeddedResponse() public function testMainResponseWithValidationIsUnchangedWhenThereIsNoEmbeddedResponse()
{ {
$cacheStrategy = new ResponseCacheStrategy(); $cacheStrategy = new ResponseCacheStrategy();
$masterResponse = new Response(); $mainResponse = new Response();
$masterResponse->setLastModified(new \DateTime()); $mainResponse->setLastModified(new \DateTime());
$cacheStrategy->update($masterResponse); $cacheStrategy->update($mainResponse);
$this->assertTrue($masterResponse->isValidateable()); $this->assertTrue($mainResponse->isValidateable());
} }
public function testMasterResponseWithExpirationIsUnchangedWhenThereIsNoEmbeddedResponse() public function testMainResponseWithExpirationIsUnchangedWhenThereIsNoEmbeddedResponse()
{ {
$cacheStrategy = new ResponseCacheStrategy(); $cacheStrategy = new ResponseCacheStrategy();
$masterResponse = new Response(); $mainResponse = new Response();
$masterResponse->setSharedMaxAge(3600); $mainResponse->setSharedMaxAge(3600);
$cacheStrategy->update($masterResponse); $cacheStrategy->update($mainResponse);
$this->assertTrue($masterResponse->isFresh()); $this->assertTrue($mainResponse->isFresh());
} }
public function testMasterResponseIsNotCacheableWhenEmbeddedResponseIsNotCacheable() public function testMainResponseIsNotCacheableWhenEmbeddedResponseIsNotCacheable()
{ {
$cacheStrategy = new ResponseCacheStrategy(); $cacheStrategy = new ResponseCacheStrategy();
$masterResponse = new Response(); $mainResponse = new Response();
$masterResponse->setSharedMaxAge(3600); // Public, cacheable $mainResponse->setSharedMaxAge(3600); // Public, cacheable
/* This response has no validation or expiration information. /* This response has no validation or expiration information.
That makes it uncacheable, it is always stale. That makes it uncacheable, it is always stale.
@ -152,19 +152,19 @@ class ResponseCacheStrategyTest extends TestCase
$this->assertFalse($embeddedResponse->isFresh()); // not fresh, as no lifetime is provided $this->assertFalse($embeddedResponse->isFresh()); // not fresh, as no lifetime is provided
$cacheStrategy->add($embeddedResponse); $cacheStrategy->add($embeddedResponse);
$cacheStrategy->update($masterResponse); $cacheStrategy->update($mainResponse);
$this->assertTrue($masterResponse->headers->hasCacheControlDirective('no-cache')); $this->assertTrue($mainResponse->headers->hasCacheControlDirective('no-cache'));
$this->assertTrue($masterResponse->headers->hasCacheControlDirective('must-revalidate')); $this->assertTrue($mainResponse->headers->hasCacheControlDirective('must-revalidate'));
$this->assertFalse($masterResponse->isFresh()); $this->assertFalse($mainResponse->isFresh());
} }
public function testEmbeddingPrivateResponseMakesMainResponsePrivate() public function testEmbeddingPrivateResponseMakesMainResponsePrivate()
{ {
$cacheStrategy = new ResponseCacheStrategy(); $cacheStrategy = new ResponseCacheStrategy();
$masterResponse = new Response(); $mainResponse = new Response();
$masterResponse->setSharedMaxAge(3600); // public, cacheable $mainResponse->setSharedMaxAge(3600); // public, cacheable
// The embedded response might for example contain per-user data that remains valid for 60 seconds // The embedded response might for example contain per-user data that remains valid for 60 seconds
$embeddedResponse = new Response(); $embeddedResponse = new Response();
@ -172,29 +172,29 @@ class ResponseCacheStrategyTest extends TestCase
$embeddedResponse->setMaxAge(60); // this would implicitly set "private" as well, but let's be explicit $embeddedResponse->setMaxAge(60); // this would implicitly set "private" as well, but let's be explicit
$cacheStrategy->add($embeddedResponse); $cacheStrategy->add($embeddedResponse);
$cacheStrategy->update($masterResponse); $cacheStrategy->update($mainResponse);
$this->assertTrue($masterResponse->headers->hasCacheControlDirective('private')); $this->assertTrue($mainResponse->headers->hasCacheControlDirective('private'));
$this->assertFalse($masterResponse->headers->hasCacheControlDirective('public')); $this->assertFalse($mainResponse->headers->hasCacheControlDirective('public'));
} }
public function testEmbeddingPublicResponseDoesNotMakeMainResponsePublic() public function testEmbeddingPublicResponseDoesNotMakeMainResponsePublic()
{ {
$cacheStrategy = new ResponseCacheStrategy(); $cacheStrategy = new ResponseCacheStrategy();
$masterResponse = new Response(); $mainResponse = new Response();
$masterResponse->setPrivate(); // this is the default, but let's be explicit $mainResponse->setPrivate(); // this is the default, but let's be explicit
$masterResponse->setMaxAge(100); $mainResponse->setMaxAge(100);
$embeddedResponse = new Response(); $embeddedResponse = new Response();
$embeddedResponse->setPublic(); $embeddedResponse->setPublic();
$embeddedResponse->setSharedMaxAge(100); $embeddedResponse->setSharedMaxAge(100);
$cacheStrategy->add($embeddedResponse); $cacheStrategy->add($embeddedResponse);
$cacheStrategy->update($masterResponse); $cacheStrategy->update($mainResponse);
$this->assertTrue($masterResponse->headers->hasCacheControlDirective('private')); $this->assertTrue($mainResponse->headers->hasCacheControlDirective('private'));
$this->assertFalse($masterResponse->headers->hasCacheControlDirective('public')); $this->assertFalse($mainResponse->headers->hasCacheControlDirective('public'));
} }
public function testResponseIsExiprableWhenEmbeddedResponseCombinesExpiryAndValidation() public function testResponseIsExiprableWhenEmbeddedResponseCombinesExpiryAndValidation()
@ -206,36 +206,36 @@ class ResponseCacheStrategyTest extends TestCase
*/ */
$cacheStrategy = new ResponseCacheStrategy(); $cacheStrategy = new ResponseCacheStrategy();
$masterResponse = new Response(); $mainResponse = new Response();
$masterResponse->setSharedMaxAge(3600); $mainResponse->setSharedMaxAge(3600);
$embeddedResponse = new Response(); $embeddedResponse = new Response();
$embeddedResponse->setSharedMaxAge(60); $embeddedResponse->setSharedMaxAge(60);
$embeddedResponse->setEtag('foo'); $embeddedResponse->setEtag('foo');
$cacheStrategy->add($embeddedResponse); $cacheStrategy->add($embeddedResponse);
$cacheStrategy->update($masterResponse); $cacheStrategy->update($mainResponse);
$this->assertEqualsWithDelta(60, (int) $masterResponse->headers->getCacheControlDirective('s-maxage'), 1); $this->assertEqualsWithDelta(60, (int) $mainResponse->headers->getCacheControlDirective('s-maxage'), 1);
} }
public function testResponseIsExpirableButNotValidateableWhenMasterResponseCombinesExpirationAndValidation() public function testResponseIsExpirableButNotValidateableWhenMainResponseCombinesExpirationAndValidation()
{ {
$cacheStrategy = new ResponseCacheStrategy(); $cacheStrategy = new ResponseCacheStrategy();
$masterResponse = new Response(); $mainResponse = new Response();
$masterResponse->setSharedMaxAge(3600); $mainResponse->setSharedMaxAge(3600);
$masterResponse->setEtag('foo'); $mainResponse->setEtag('foo');
$masterResponse->setLastModified(new \DateTime()); $mainResponse->setLastModified(new \DateTime());
$embeddedResponse = new Response(); $embeddedResponse = new Response();
$embeddedResponse->setSharedMaxAge(60); $embeddedResponse->setSharedMaxAge(60);
$cacheStrategy->add($embeddedResponse); $cacheStrategy->add($embeddedResponse);
$cacheStrategy->update($masterResponse); $cacheStrategy->update($mainResponse);
$this->assertSame('60', $masterResponse->headers->getCacheControlDirective('s-maxage')); $this->assertSame('60', $mainResponse->headers->getCacheControlDirective('s-maxage'));
$this->assertFalse($masterResponse->isValidateable()); $this->assertFalse($mainResponse->isValidateable());
} }
/** /**

View File

@ -51,7 +51,7 @@ class SubRequestHandlerTest extends TestCase
$this->assertSame('https', $request->headers->get('X-Forwarded-Proto')); $this->assertSame('https', $request->headers->get('X-Forwarded-Proto'));
}); });
SubRequestHandler::handle($kernel, $request, HttpKernelInterface::MASTER_REQUEST, true); SubRequestHandler::handle($kernel, $request, HttpKernelInterface::MAIN_REQUEST, true);
$this->assertSame($globalState, $this->getGlobalState()); $this->assertSame($globalState, $this->getGlobalState());
} }
@ -75,7 +75,7 @@ class SubRequestHandlerTest extends TestCase
$this->assertSame('for="10.0.0.1";host="localhost";proto=http', $request->headers->get('Forwarded')); $this->assertSame('for="10.0.0.1";host="localhost";proto=http', $request->headers->get('Forwarded'));
}); });
SubRequestHandler::handle($kernel, $request, HttpKernelInterface::MASTER_REQUEST, true); SubRequestHandler::handle($kernel, $request, HttpKernelInterface::MAIN_REQUEST, true);
$this->assertSame(self::$globalState, $this->getGlobalState()); $this->assertSame(self::$globalState, $this->getGlobalState());
} }
@ -97,7 +97,7 @@ class SubRequestHandlerTest extends TestCase
$this->assertSame(1234, $request->getPort()); $this->assertSame(1234, $request->getPort());
}); });
SubRequestHandler::handle($kernel, $request, HttpKernelInterface::MASTER_REQUEST, true); SubRequestHandler::handle($kernel, $request, HttpKernelInterface::MAIN_REQUEST, true);
$this->assertSame($globalState, $this->getGlobalState()); $this->assertSame($globalState, $this->getGlobalState());
} }
@ -120,7 +120,7 @@ class SubRequestHandlerTest extends TestCase
$this->assertSame('https', $request->getScheme()); $this->assertSame('https', $request->getScheme());
}); });
SubRequestHandler::handle($kernel, $request, HttpKernelInterface::MASTER_REQUEST, true); SubRequestHandler::handle($kernel, $request, HttpKernelInterface::MAIN_REQUEST, true);
$this->assertSame($globalState, $this->getGlobalState()); $this->assertSame($globalState, $this->getGlobalState());
} }
@ -143,7 +143,7 @@ class TestSubRequestHandlerKernel implements HttpKernelInterface
$this->assertCallback = $assertCallback; $this->assertCallback = $assertCallback;
} }
public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true): Response public function handle(Request $request, $type = self::MAIN_REQUEST, $catch = true): Response
{ {
$assertCallback = $this->assertCallback; $assertCallback = $this->assertCallback;
$assertCallback($request, $type, $catch); $assertCallback($request, $type, $catch);

View File

@ -54,7 +54,7 @@ class TestHttpKernel extends HttpKernel implements ControllerResolverInterface,
} }
} }
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = false): Response public function handle(Request $request, $type = HttpKernelInterface::MAIN_REQUEST, $catch = false): Response
{ {
$this->catch = $catch; $this->catch = $catch;
$this->backendRequest = [Request::getTrustedProxies(), Request::getTrustedHeaderSet(), $request]; $this->backendRequest = [Request::getTrustedProxies(), Request::getTrustedHeaderSet(), $request];

View File

@ -43,7 +43,7 @@ class TestMultipleHttpKernel extends HttpKernel implements ControllerResolverInt
return $this->backendRequest; return $this->backendRequest;
} }
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = false): Response public function handle(Request $request, $type = HttpKernelInterface::MAIN_REQUEST, $catch = false): Response
{ {
$this->backendRequest = $request; $this->backendRequest = $request;

View File

@ -37,7 +37,7 @@ class HttpKernelTest extends TestCase
$this->expectException(\RuntimeException::class); $this->expectException(\RuntimeException::class);
$kernel = $this->getHttpKernel(new EventDispatcher(), function () { throw new \RuntimeException(); }); $kernel = $this->getHttpKernel(new EventDispatcher(), function () { throw new \RuntimeException(); });
$kernel->handle(new Request(), HttpKernelInterface::MASTER_REQUEST, true); $kernel->handle(new Request(), HttpKernelInterface::MAIN_REQUEST, true);
} }
public function testHandleWhenControllerThrowsAnExceptionAndCatchIsFalseAndNoListenerIsRegistered() public function testHandleWhenControllerThrowsAnExceptionAndCatchIsFalseAndNoListenerIsRegistered()
@ -45,7 +45,7 @@ class HttpKernelTest extends TestCase
$this->expectException(\RuntimeException::class); $this->expectException(\RuntimeException::class);
$kernel = $this->getHttpKernel(new EventDispatcher(), function () { throw new \RuntimeException(); }); $kernel = $this->getHttpKernel(new EventDispatcher(), function () { throw new \RuntimeException(); });
$kernel->handle(new Request(), HttpKernelInterface::MASTER_REQUEST, false); $kernel->handle(new Request(), HttpKernelInterface::MAIN_REQUEST, false);
} }
public function testHandleWhenControllerThrowsAnExceptionAndCatchIsTrueWithAHandlingListener() public function testHandleWhenControllerThrowsAnExceptionAndCatchIsTrueWithAHandlingListener()
@ -56,7 +56,7 @@ class HttpKernelTest extends TestCase
}); });
$kernel = $this->getHttpKernel($dispatcher, function () { throw new \RuntimeException('foo'); }); $kernel = $this->getHttpKernel($dispatcher, function () { throw new \RuntimeException('foo'); });
$response = $kernel->handle(new Request(), HttpKernelInterface::MASTER_REQUEST, true); $response = $kernel->handle(new Request(), HttpKernelInterface::MAIN_REQUEST, true);
$this->assertEquals('500', $response->getStatusCode()); $this->assertEquals('500', $response->getStatusCode());
$this->assertEquals('foo', $response->getContent()); $this->assertEquals('foo', $response->getContent());
@ -74,7 +74,7 @@ class HttpKernelTest extends TestCase
$kernel = $this->getHttpKernel($dispatcher, function () use ($exception) { throw $exception; }); $kernel = $this->getHttpKernel($dispatcher, function () use ($exception) { throw $exception; });
try { try {
$kernel->handle(new Request(), HttpKernelInterface::MASTER_REQUEST, true); $kernel->handle(new Request(), HttpKernelInterface::MAIN_REQUEST, true);
$this->fail('LogicException expected'); $this->fail('LogicException expected');
} catch (\RuntimeException $e) { } catch (\RuntimeException $e) {
$this->assertSame($exception, $e); $this->assertSame($exception, $e);
@ -313,10 +313,10 @@ class HttpKernelTest extends TestCase
$dispatcher = new EventDispatcher(); $dispatcher = new EventDispatcher();
$kernel = $this->getHttpKernel($dispatcher, null, $stack); $kernel = $this->getHttpKernel($dispatcher, null, $stack);
$kernel->handle($request, HttpKernelInterface::MASTER_REQUEST); $kernel->handle($request, HttpKernelInterface::MAIN_REQUEST);
} }
public function testInconsistentClientIpsOnMasterRequests() public function testInconsistentClientIpsOnMainRequests()
{ {
$this->expectException(BadRequestHttpException::class); $this->expectException(BadRequestHttpException::class);
$request = new Request(); $request = new Request();
@ -331,7 +331,7 @@ class HttpKernelTest extends TestCase
}); });
$kernel = $this->getHttpKernel($dispatcher); $kernel = $this->getHttpKernel($dispatcher);
$kernel->handle($request, $kernel::MASTER_REQUEST, false); $kernel->handle($request, $kernel::MAIN_REQUEST, false);
Request::setTrustedProxies([], -1); Request::setTrustedProxies([], -1);
} }

View File

@ -190,7 +190,7 @@ class KernelTest extends TestCase
public function testHandleCallsHandleOnHttpKernel() public function testHandleCallsHandleOnHttpKernel()
{ {
$type = HttpKernelInterface::MASTER_REQUEST; $type = HttpKernelInterface::MAIN_REQUEST;
$catch = true; $catch = true;
$request = new Request(); $request = new Request();
@ -212,7 +212,7 @@ class KernelTest extends TestCase
public function testHandleBootsTheKernel() public function testHandleBootsTheKernel()
{ {
$type = HttpKernelInterface::MASTER_REQUEST; $type = HttpKernelInterface::MAIN_REQUEST;
$catch = true; $catch = true;
$request = new Request(); $request = new Request();
@ -678,7 +678,7 @@ class TestKernel implements HttpKernelInterface
$this->terminateCalled = true; $this->terminateCalled = true;
} }
public function handle(Request $request, int $type = self::MASTER_REQUEST, bool $catch = true): Response public function handle(Request $request, int $type = self::MAIN_REQUEST, bool $catch = true): Response
{ {
} }

View File

@ -21,7 +21,7 @@
"symfony/error-handler": "^4.4|^5.0", "symfony/error-handler": "^4.4|^5.0",
"symfony/event-dispatcher": "^5.0", "symfony/event-dispatcher": "^5.0",
"symfony/http-client-contracts": "^1.1|^2", "symfony/http-client-contracts": "^1.1|^2",
"symfony/http-foundation": "^4.4|^5.0", "symfony/http-foundation": "^5.3",
"symfony/polyfill-ctype": "^1.8", "symfony/polyfill-ctype": "^1.8",
"symfony/polyfill-php73": "^1.9", "symfony/polyfill-php73": "^1.9",
"symfony/polyfill-php80": "^1.15", "symfony/polyfill-php80": "^1.15",

View File

@ -34,7 +34,7 @@ class CsrfTokenManager implements CsrfTokenManagerInterface
* @param string|RequestStack|callable|null $namespace * @param string|RequestStack|callable|null $namespace
* * null: generates a namespace using $_SERVER['HTTPS'] * * null: generates a namespace using $_SERVER['HTTPS']
* * string: uses the given string * * string: uses the given string
* * RequestStack: generates a namespace using the current master request * * RequestStack: generates a namespace using the current main request
* * callable: uses the result of this callable (must return a string) * * callable: uses the result of this callable (must return a string)
*/ */
public function __construct(TokenGeneratorInterface $generator = null, TokenStorageInterface $storage = null, $namespace = null) public function __construct(TokenGeneratorInterface $generator = null, TokenStorageInterface $storage = null, $namespace = null)
@ -50,7 +50,7 @@ class CsrfTokenManager implements CsrfTokenManagerInterface
$this->namespace = $superGlobalNamespaceGenerator; $this->namespace = $superGlobalNamespaceGenerator;
} elseif ($namespace instanceof RequestStack) { } elseif ($namespace instanceof RequestStack) {
$this->namespace = function () use ($namespace, $superGlobalNamespaceGenerator) { $this->namespace = function () use ($namespace, $superGlobalNamespaceGenerator) {
if ($request = $namespace->getMasterRequest()) { if ($request = $namespace->getMainRequest()) {
return $request->isSecure() ? 'https-' : ''; return $request->isSecure() ? 'https-' : '';
} }

View File

@ -66,11 +66,20 @@ final class LazyResponseEvent extends RequestEvent
return $this->event->getRequestType(); return $this->event->getRequestType();
} }
/**
* {@inheritdoc}
*/
public function isMainRequest(): bool
{
return $this->event->isMainRequest();
}
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function isMasterRequest(): bool public function isMasterRequest(): bool
{ {
return $this->event->isMasterRequest(); trigger_deprecation('symfony/security-http', '5.3', '"%s()" is deprecated, use "isMainRequest()" instead.');
return $this->event->isMainRequest();
} }
} }

View File

@ -42,7 +42,7 @@ final class LoginThrottlingListener implements EventSubscriberInterface
return; return;
} }
$request = $this->requestStack->getMasterRequest(); $request = $this->requestStack->getMainRequest();
$request->attributes->set(Security::LAST_USERNAME, $passport->getBadge(UserBadge::class)->getUserIdentifier()); $request->attributes->set(Security::LAST_USERNAME, $passport->getBadge(UserBadge::class)->getUserIdentifier());
$limit = $this->limiter->consume($request); $limit = $this->limiter->consume($request);

View File

@ -43,7 +43,7 @@ class Firewall implements EventSubscriberInterface
public function onKernelRequest(RequestEvent $event) public function onKernelRequest(RequestEvent $event)
{ {
if (!$event->isMasterRequest()) { if (!$event->isMainRequest()) {
return; return;
} }

View File

@ -86,7 +86,7 @@ class ContextListener extends AbstractListener
*/ */
public function authenticate(RequestEvent $event) public function authenticate(RequestEvent $event)
{ {
if (!$this->registered && null !== $this->dispatcher && $event->isMasterRequest()) { if (!$this->registered && null !== $this->dispatcher && $event->isMainRequest()) {
$this->dispatcher->addListener(KernelEvents::RESPONSE, [$this, 'onKernelResponse']); $this->dispatcher->addListener(KernelEvents::RESPONSE, [$this, 'onKernelResponse']);
$this->registered = true; $this->registered = true;
} }
@ -153,7 +153,7 @@ class ContextListener extends AbstractListener
*/ */
public function onKernelResponse(ResponseEvent $event) public function onKernelResponse(ResponseEvent $event)
{ {
if (!$event->isMasterRequest()) { if (!$event->isMainRequest()) {
return; return;
} }

View File

@ -26,7 +26,7 @@ class ResponseListener implements EventSubscriberInterface
{ {
public function onKernelResponse(ResponseEvent $event) public function onKernelResponse(ResponseEvent $event)
{ {
if (!$event->isMasterRequest()) { if (!$event->isMainRequest()) {
return; return;
} }

View File

@ -74,7 +74,7 @@ class AccessListenerTest extends TestCase
$this->createMock(AuthenticationManagerInterface::class) $this->createMock(AuthenticationManagerInterface::class)
); );
$listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST)); $listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST));
} }
public function testHandleWhenTheTokenIsNotAuthenticated() public function testHandleWhenTheTokenIsNotAuthenticated()
@ -138,7 +138,7 @@ class AccessListenerTest extends TestCase
$authManager $authManager
); );
$listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST)); $listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST));
} }
public function testHandleWhenThereIsNoAccessMapEntryMatchingTheRequest() public function testHandleWhenThereIsNoAccessMapEntryMatchingTheRequest()
@ -173,7 +173,7 @@ class AccessListenerTest extends TestCase
$this->createMock(AuthenticationManagerInterface::class) $this->createMock(AuthenticationManagerInterface::class)
); );
$listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST)); $listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST));
} }
public function testHandleWhenAccessMapReturnsEmptyAttributes() public function testHandleWhenAccessMapReturnsEmptyAttributes()
@ -201,7 +201,7 @@ class AccessListenerTest extends TestCase
$this->createMock(AuthenticationManagerInterface::class) $this->createMock(AuthenticationManagerInterface::class)
); );
$event = new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST); $event = new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST);
$listener(new LazyResponseEvent($event)); $listener(new LazyResponseEvent($event));
} }
@ -233,7 +233,7 @@ class AccessListenerTest extends TestCase
$this->createMock(AuthenticationManagerInterface::class) $this->createMock(AuthenticationManagerInterface::class)
); );
$listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST)); $listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST));
} }
public function testHandleWhenTheSecurityTokenStorageHasNoTokenAndExceptionOnTokenIsFalse() public function testHandleWhenTheSecurityTokenStorageHasNoTokenAndExceptionOnTokenIsFalse()
@ -263,7 +263,7 @@ class AccessListenerTest extends TestCase
false false
); );
$listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST)); $listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST));
} }
public function testHandleWhenPublicAccessIsAllowedAndExceptionOnTokenIsFalse() public function testHandleWhenPublicAccessIsAllowedAndExceptionOnTokenIsFalse()
@ -292,7 +292,7 @@ class AccessListenerTest extends TestCase
false false
); );
$listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST)); $listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST));
} }
public function testHandleWhenPublicAccessWhileAuthenticated() public function testHandleWhenPublicAccessWhileAuthenticated()
@ -323,7 +323,7 @@ class AccessListenerTest extends TestCase
false false
); );
$listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST)); $listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST));
} }
public function testHandleMWithultipleAttributesShouldBeHandledAsAnd() public function testHandleMWithultipleAttributesShouldBeHandledAsAnd()
@ -363,6 +363,6 @@ class AccessListenerTest extends TestCase
$this->createMock(AuthenticationManagerInterface::class) $this->createMock(AuthenticationManagerInterface::class)
); );
$listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST)); $listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST));
} }
} }

View File

@ -44,7 +44,7 @@ class AnonymousAuthenticationListenerTest extends TestCase
; ;
$listener = new AnonymousAuthenticationListener($tokenStorage, 'TheSecret', null, $authenticationManager); $listener = new AnonymousAuthenticationListener($tokenStorage, 'TheSecret', null, $authenticationManager);
$listener(new RequestEvent($this->createMock(HttpKernelInterface::class), new Request(), HttpKernelInterface::MASTER_REQUEST)); $listener(new RequestEvent($this->createMock(HttpKernelInterface::class), new Request(), HttpKernelInterface::MAIN_REQUEST));
} }
public function testHandleWithTokenStorageHavingNoToken() public function testHandleWithTokenStorageHavingNoToken()
@ -75,7 +75,7 @@ class AnonymousAuthenticationListenerTest extends TestCase
; ;
$listener = new AnonymousAuthenticationListener($tokenStorage, 'TheSecret', null, $authenticationManager); $listener = new AnonymousAuthenticationListener($tokenStorage, 'TheSecret', null, $authenticationManager);
$listener(new RequestEvent($this->createMock(HttpKernelInterface::class), new Request(), HttpKernelInterface::MASTER_REQUEST)); $listener(new RequestEvent($this->createMock(HttpKernelInterface::class), new Request(), HttpKernelInterface::MAIN_REQUEST));
} }
public function testHandledEventIsLogged() public function testHandledEventIsLogged()
@ -90,6 +90,6 @@ class AnonymousAuthenticationListenerTest extends TestCase
$authenticationManager = $this->createMock(AuthenticationManagerInterface::class); $authenticationManager = $this->createMock(AuthenticationManagerInterface::class);
$listener = new AnonymousAuthenticationListener($tokenStorage, 'TheSecret', $logger, $authenticationManager); $listener = new AnonymousAuthenticationListener($tokenStorage, 'TheSecret', $logger, $authenticationManager);
$listener(new RequestEvent($this->createMock(HttpKernelInterface::class), new Request(), HttpKernelInterface::MASTER_REQUEST)); $listener(new RequestEvent($this->createMock(HttpKernelInterface::class), new Request(), HttpKernelInterface::MAIN_REQUEST));
} }
} }

View File

@ -112,7 +112,7 @@ class ContextListenerTest extends TestCase
$event = new ResponseEvent( $event = new ResponseEvent(
$this->createMock(HttpKernelInterface::class), $this->createMock(HttpKernelInterface::class),
$request, $request,
HttpKernelInterface::MASTER_REQUEST, HttpKernelInterface::MAIN_REQUEST,
new Response() new Response()
); );
@ -131,7 +131,7 @@ class ContextListenerTest extends TestCase
$event = new ResponseEvent( $event = new ResponseEvent(
$this->createMock(HttpKernelInterface::class), $this->createMock(HttpKernelInterface::class),
$request, $request,
HttpKernelInterface::MASTER_REQUEST, HttpKernelInterface::MAIN_REQUEST,
new Response() new Response()
); );
@ -192,7 +192,7 @@ class ContextListenerTest extends TestCase
$listener = new ContextListener($tokenStorage, [], 'key123', null, $dispatcher); $listener = new ContextListener($tokenStorage, [], 'key123', null, $dispatcher);
$event->expects($this->any()) $event->expects($this->any())
->method('isMasterRequest') ->method('isMainRequest')
->willReturn(true); ->willReturn(true);
$event->expects($this->any()) $event->expects($this->any())
->method('getRequest') ->method('getRequest')
@ -221,7 +221,7 @@ class ContextListenerTest extends TestCase
->method('getSession') ->method('getSession')
->willReturn($session); ->willReturn($session);
$event = new ResponseEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST, new Response()); $event = new ResponseEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST, new Response());
$dispatcher->expects($this->once()) $dispatcher->expects($this->once())
->method('removeListener') ->method('removeListener')
@ -334,7 +334,7 @@ class ContextListenerTest extends TestCase
}); });
$listener = new ContextListener($tokenStorage, [new NotSupportingUserProvider(true), new NotSupportingUserProvider(false), new SupportingUserProvider($refreshedUser)], 'context_key', null, $eventDispatcher); $listener = new ContextListener($tokenStorage, [new NotSupportingUserProvider(true), new NotSupportingUserProvider(false), new SupportingUserProvider($refreshedUser)], 'context_key', null, $eventDispatcher);
$listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST)); $listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST));
$this->assertNull($tokenStorage->getToken()); $this->assertNull($tokenStorage->getToken());
} }
@ -351,7 +351,7 @@ class ContextListenerTest extends TestCase
$tokenStorage = new TokenStorage(); $tokenStorage = new TokenStorage();
$listener = new ContextListener($tokenStorage, [], 'context_key', null, null, null, [$tokenStorage, 'getToken']); $listener = new ContextListener($tokenStorage, [], 'context_key', null, null, null, [$tokenStorage, 'getToken']);
$listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST)); $listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST));
$this->assertSame($usageIndex, $session->getUsageIndex()); $this->assertSame($usageIndex, $session->getUsageIndex());
} }
@ -370,7 +370,7 @@ class ContextListenerTest extends TestCase
$tokenStorage = new TokenStorage(); $tokenStorage = new TokenStorage();
$listener = new ContextListener($tokenStorage, [], 'context_key', null, null, null, [$tokenStorage, 'getToken']); $listener = new ContextListener($tokenStorage, [], 'context_key', null, null, null, [$tokenStorage, 'getToken']);
$listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST)); $listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST));
} }
protected function runSessionOnKernelResponse($newToken, $original = null) protected function runSessionOnKernelResponse($newToken, $original = null)
@ -402,7 +402,7 @@ class ContextListenerTest extends TestCase
$event = new ResponseEvent( $event = new ResponseEvent(
$this->createMock(HttpKernelInterface::class), $this->createMock(HttpKernelInterface::class),
$request, $request,
HttpKernelInterface::MASTER_REQUEST, HttpKernelInterface::MAIN_REQUEST,
new Response() new Response()
); );
@ -452,7 +452,7 @@ class ContextListenerTest extends TestCase
if ($rememberMeServices) { if ($rememberMeServices) {
$listener->setRememberMeServices($rememberMeServices); $listener->setRememberMeServices($rememberMeServices);
} }
$listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST)); $listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST));
if (null !== $user) { if (null !== $user) {
++$usageIndex; ++$usageIndex;

View File

@ -203,7 +203,7 @@ class ExceptionListenerTest extends TestCase
$kernel = $this->createMock(HttpKernelInterface::class); $kernel = $this->createMock(HttpKernelInterface::class);
} }
return new ExceptionEvent($kernel, Request::create('/'), HttpKernelInterface::MASTER_REQUEST, $exception); return new ExceptionEvent($kernel, Request::create('/'), HttpKernelInterface::MAIN_REQUEST, $exception);
} }
private function createExceptionListener(TokenStorageInterface $tokenStorage = null, AuthenticationTrustResolverInterface $trustResolver = null, HttpUtils $httpUtils = null, AuthenticationEntryPointInterface $authenticationEntryPoint = null, $errorPage = null, AccessDeniedHandlerInterface $accessDeniedHandler = null) private function createExceptionListener(TokenStorageInterface $tokenStorage = null, AuthenticationTrustResolverInterface $trustResolver = null, HttpUtils $httpUtils = null, AuthenticationEntryPointInterface $authenticationEntryPoint = null, $errorPage = null, AccessDeniedHandlerInterface $accessDeniedHandler = null)

View File

@ -352,7 +352,7 @@ class RememberMeListenerTest extends TestCase
$request = $request ?? new Request(); $request = $request ?? new Request();
$event = $this->getMockBuilder(RequestEvent::class) $event = $this->getMockBuilder(RequestEvent::class)
->setConstructorArgs([$this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST]) ->setConstructorArgs([$this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST])
->getMock(); ->getMock();
$event $event
->expects($this->any()) ->expects($this->any())

View File

@ -53,7 +53,7 @@ class SwitchUserListenerTest extends TestCase
$this->userChecker = $this->createMock(UserCheckerInterface::class); $this->userChecker = $this->createMock(UserCheckerInterface::class);
$this->accessDecisionManager = $this->createMock(AccessDecisionManagerInterface::class); $this->accessDecisionManager = $this->createMock(AccessDecisionManagerInterface::class);
$this->request = new Request(); $this->request = new Request();
$this->event = new RequestEvent($this->createMock(HttpKernelInterface::class), $this->request, HttpKernelInterface::MASTER_REQUEST); $this->event = new RequestEvent($this->createMock(HttpKernelInterface::class), $this->request, HttpKernelInterface::MAIN_REQUEST);
} }
public function testFirewallNameIsRequired() public function testFirewallNameIsRequired()

Some files were not shown because too many files have changed in this diff Show More