Rename master request to main request

This commit is contained in:
Alexander M. Turek 2021-03-22 00:25:00 +01:00
parent 7873574335
commit 1fc2a04e00
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 `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
* Rename the container parameter `profiler_listener.only_master_requests` to `profiler_listener.only_main_requests`
HttpFoundation
--------------
* Deprecate the `NamespacedAttributeBag` class
* Deprecate the `RequestStack::getMasterRequest()` method and add `getMainRequest()` as replacement
HttpKernel
----------
@ -49,6 +51,8 @@ HttpKernel
* Deprecate `ArgumentMetadata::getAttribute()`, use `getAttributes()` instead
* Mark the class `Symfony\Component\HttpKernel\EventListener\DebugHandlersListener` as internal
* 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
---------

View File

@ -89,6 +89,7 @@ HttpFoundation
`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.
* 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
----------
@ -98,6 +99,8 @@ HttpKernel
* 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 returning a `ContainerBuilder` from `KernelInterface::registerContainerConfiguration()`
* Rename `HttpKernelInterface::MASTER_REQUEST` to `MAIN_REQUEST`
* Rename `KernelEvent::isMasterRequest()` to `isMainRequest()`
Inflector
---------

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -123,14 +123,14 @@ class RouteProcessorTest extends TestCase
$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);
}
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

View File

@ -89,7 +89,7 @@ class WebProcessorTest extends TestCase
$request->server->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];
}

View File

@ -19,7 +19,7 @@
"php": ">=7.2.5",
"monolog/monolog": "^1.25.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"
},
"require-dev": {
@ -32,7 +32,7 @@
},
"conflict": {
"symfony/console": "<4.4",
"symfony/http-foundation": "<4.4"
"symfony/http-foundation": "<5.3"
},
"suggest": {
"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
{
if (!$request = $this->requestStack->getMasterRequest()) {
if (!$request = $this->requestStack->getMainRequest()) {
return $uri;
}

View File

@ -29,7 +29,7 @@
"symfony/dependency-injection": "^4.4|^5.0",
"symfony/finder": "^4.4|^5.0",
"symfony/form": "^5.3",
"symfony/http-foundation": "^4.4|^5.0",
"symfony/http-foundation": "^5.3",
"symfony/http-kernel": "^4.4|^5.0",
"symfony/intl": "^4.4|^5.0",
"symfony/mime": "^5.2",
@ -57,7 +57,7 @@
"phpdocumentor/type-resolver": "<1.4.0",
"symfony/console": "<4.4",
"symfony/form": "<5.3",
"symfony/http-foundation": "<4.4",
"symfony/http-foundation": "<5.3",
"symfony/http-kernel": "<4.4",
"symfony/translation": "<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
* 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
* Rename the container parameter `profiler_listener.only_master_requests` to `profiler_listener.only_main_requests`
5.2.0
-----

View File

@ -304,7 +304,8 @@ class Configuration implements ConfigurationInterface
->children()
->booleanNode('collect')->defaultTrue()->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()
->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_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
[$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()));
}
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')) {
Request::enableHttpMethodParameterOverride();

View File

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

View File

@ -87,6 +87,7 @@
<xsd:complexType name="profiler">
<xsd:attribute name="collect" 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="enabled" type="xsd:string" />
<xsd:attribute name="dsn" type="xsd:string" />

View File

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

View File

@ -122,7 +122,7 @@ class MicroKernelTraitTest extends TestCase
};
$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());
}
@ -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".');
$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/error-handler": "^4.4.1|^5.0.1",
"symfony/http-foundation": "^5.3",
"symfony/http-kernel": "^5.2.1",
"symfony/http-kernel": "^5.3",
"symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php80": "^1.15",
"symfony/filesystem": "^4.4|^5.0",

View File

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

View File

@ -49,7 +49,7 @@ class UserAuthenticator implements UserAuthenticatorInterface
private function getUserAuthenticator(): UserAuthenticatorInterface
{
$firewallConfig = $this->firewallMap->getFirewallConfig($this->requestStack->getMasterRequest());
$firewallConfig = $this->firewallMap->getFirewallConfig($this->requestStack->getMainRequest());
if (null === $firewallConfig) {
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()
{
$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());
$listener = function ($e) use ($event, &$listenerCalled) {
$listenerCalled += $e === $event;

View File

@ -29,7 +29,7 @@ class TraceableFirewallListenerTest extends TestCase
public function testOnKernelRequestRecordsListeners()
{
$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());
$listener = function ($e) use ($event, &$listenerCalled) {
$listenerCalled += $e === $event;

View File

@ -22,7 +22,8 @@
"symfony/dependency-injection": "^5.3",
"symfony/deprecation-contracts": "^2.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/polyfill-php80": "^1.15",
"symfony/security-core": "^5.3",

View File

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

View File

@ -67,7 +67,7 @@ class WebDebugToolbarListenerTest extends TestCase
{
$response = new Response('Some content', $statusCode);
$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->onKernelResponse($event);
@ -80,7 +80,7 @@ class WebDebugToolbarListenerTest extends TestCase
{
$response = new Response('Some content', '301');
$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->onKernelResponse($event);
@ -94,7 +94,7 @@ class WebDebugToolbarListenerTest extends TestCase
$response = new Response('<html><head></head><body></body></html>');
$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->onKernelResponse($event);
@ -110,7 +110,7 @@ class WebDebugToolbarListenerTest extends TestCase
$response = new Response('<html><head></head><body></body></html>');
$response->headers->set('X-Debug-Token', 'xxxxxxxx');
$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->onKernelResponse($event);
@ -126,7 +126,7 @@ class WebDebugToolbarListenerTest extends TestCase
$response = new Response('<html><head></head><body></body></html>');
$response->headers->set('X-Debug-Token', 'xxxxxxxx');
$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->onKernelResponse($event);
@ -142,7 +142,7 @@ class WebDebugToolbarListenerTest extends TestCase
{
$response = new Response('<html><head></head><body></body></html>', $statusCode);
$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->onKernelResponse($event);
@ -167,7 +167,7 @@ class WebDebugToolbarListenerTest extends TestCase
{
$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->onKernelResponse($event);
@ -199,7 +199,7 @@ class WebDebugToolbarListenerTest extends TestCase
$response = new Response('<div>Some content</div>');
$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->onKernelResponse($event);
@ -215,7 +215,7 @@ class WebDebugToolbarListenerTest extends TestCase
$response = new Response('<html><head></head><body></body></html>');
$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->onKernelResponse($event);
@ -231,7 +231,7 @@ class WebDebugToolbarListenerTest extends TestCase
$response = new Response('<html><head></head><body></body></html>');
$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->onKernelResponse($event);
@ -252,7 +252,7 @@ class WebDebugToolbarListenerTest extends TestCase
->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->onKernelResponse($event);
@ -273,7 +273,7 @@ class WebDebugToolbarListenerTest extends TestCase
->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->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"))
;
$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->onKernelResponse($event);
@ -307,7 +307,7 @@ class WebDebugToolbarListenerTest extends TestCase
$response = new Response('<html><head></head><body></body></html>');
$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->expects($this->once())
@ -328,7 +328,7 @@ class WebDebugToolbarListenerTest extends TestCase
$response = new Response('<html><head></head><body></body></html>');
$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->expects($this->never())

View File

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

View File

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

View File

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

View File

@ -24,9 +24,12 @@
},
"require-dev": {
"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"
},
"conflict": {
"symfony/http-foundation": "<5.3"
},
"autoload": {
"psr-4": { "Symfony\\Component\\Asset\\": "" },
"exclude-from-classmap": [

View File

@ -8,7 +8,8 @@ CHANGELOG
* Calling `Request::getSession()` when there is no available session throws a `SessionNotFoundException`
* Add the `RequestStack::getSession` method
* 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
-----

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
* like ESI support.
*
* @return Request|null
*/
public function getMasterRequest()
public function getMainRequest(): ?Request
{
if (!$this->requests) {
return null;
@ -82,6 +80,20 @@ class RequestStack
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.
*
@ -89,7 +101,7 @@ class RequestStack
* might make it un-compatible with other features of your framework
* 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
*/

View File

@ -35,6 +35,6 @@ class SessionFactory
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;
use PHPUnit\Framework\TestCase;
use Symfony\Bridge\PhpUnit\ExpectDeprecationTrait;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;
class RequestStackTest extends TestCase
{
use ExpectDeprecationTrait;
public function testGetCurrentRequest()
{
$requestStack = new RequestStack();
@ -33,6 +36,23 @@ class RequestStackTest extends TestCase
$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()
{
$requestStack = new RequestStack();
@ -44,6 +64,7 @@ class RequestStackTest extends TestCase
$requestStack->push($masterRequest);
$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());
}
@ -52,15 +73,15 @@ class RequestStackTest extends TestCase
$requestStack = new RequestStack();
$this->assertNull($requestStack->getParentRequest());
$masterRequest = Request::create('/foo');
$mainRequest = Request::create('/foo');
$requestStack->push($masterRequest);
$requestStack->push($mainRequest);
$this->assertNull($requestStack->getParentRequest());
$firstSubRequest = Request::create('/bar');
$requestStack->push($firstSubRequest);
$this->assertSame($masterRequest, $requestStack->getParentRequest());
$this->assertSame($mainRequest, $requestStack->getParentRequest());
$secondSubRequest = Request::create('/baz');

View File

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

View File

@ -9,6 +9,8 @@ CHANGELOG
* Deprecate `ArgumentMetadata::getAttribute()`, use `getAttributes()` instead
* Mark the class `Symfony\Component\HttpKernel\EventListener\DebugHandlersListener` as internal
* 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
-----

View File

@ -107,7 +107,7 @@ class DumpDataCollector extends DataCollector implements DataDumperInterface
}
// 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;
}

View File

@ -42,7 +42,7 @@ class EventDataCollector extends DataCollector implements LateDataCollectorInter
*/
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 = [
'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)
{
$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_attributes' => $sessionAttributes,
'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,
'path_info' => $request->getPathInfo(),
'controller' => 'n/a',
@ -374,7 +374,7 @@ class RequestDataCollector extends DataCollector implements EventSubscriberInter
public function onKernelResponse(ResponseEvent $event)
{
if (!$event->isMasterRequest()) {
if (!$event->isMainRequest()) {
return;
}

View File

@ -91,7 +91,7 @@ class FileLinkFormatter
}
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)())) {
return [

View File

@ -28,7 +28,7 @@ class KernelEvent extends Event
/**
* @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)
{
@ -60,7 +60,7 @@ class KernelEvent extends Event
/**
* 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
*/
public function getRequestType()
@ -68,13 +68,25 @@ class KernelEvent extends Event
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.
*
* @return bool True if the request is a master request
*
* @deprecated since symfony/http-kernel 5.3, use isMainRequest() instead
*/
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.
*
* Since it's only triggered on master requests, the `getRequestType()` method
* will always return the value of `HttpKernelInterface::MASTER_REQUEST`.
* Since it's only triggered on main requests, the `getRequestType()` method
* will always return the value of `HttpKernelInterface::MAIN_REQUEST`.
*
* @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)
{
parent::__construct($kernel, $request, HttpKernelInterface::MASTER_REQUEST);
parent::__construct($kernel, $request, HttpKernelInterface::MAIN_REQUEST);
$this->response = $response;
}

View File

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

View File

@ -41,7 +41,7 @@ abstract class AbstractTestSessionListener implements EventSubscriberInterface
public function onKernelRequest(RequestEvent $event)
{
if (!$event->isMasterRequest()) {
if (!$event->isMainRequest()) {
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.
*/
public function onKernelResponse(ResponseEvent $event)
{
if (!$event->isMasterRequest()) {
if (!$event->isMainRequest()) {
return;
}

View File

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

View File

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

View File

@ -32,7 +32,7 @@ class ProfilerListener implements EventSubscriberInterface
protected $profiler;
protected $matcher;
protected $onlyException;
protected $onlyMasterRequests;
protected $onlyMainRequests;
protected $exception;
protected $profiles;
protected $requestStack;
@ -40,14 +40,14 @@ class ProfilerListener implements EventSubscriberInterface
/**
* @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->matcher = $matcher;
$this->onlyException = $onlyException;
$this->onlyMasterRequests = $onlyMasterRequests;
$this->onlyMainRequests = $onlyMainRequests;
$this->profiles = new \SplObjectStorage();
$this->parents = new \SplObjectStorage();
$this->requestStack = $requestStack;
@ -58,7 +58,7 @@ class ProfilerListener implements EventSubscriberInterface
*/
public function onKernelException(ExceptionEvent $event)
{
if ($this->onlyMasterRequests && !$event->isMasterRequest()) {
if ($this->onlyMainRequests && !$event->isMainRequest()) {
return;
}
@ -70,8 +70,7 @@ class ProfilerListener implements EventSubscriberInterface
*/
public function onKernelResponse(ResponseEvent $event)
{
$master = $event->isMasterRequest();
if ($this->onlyMasterRequests && !$master) {
if ($this->onlyMainRequests && !$event->isMainRequest()) {
return;
}

View File

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

View File

@ -21,7 +21,7 @@ use Symfony\Component\HttpKernel\Event\RequestEvent;
*
* When the passed container contains a "session_storage" entry which
* 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>
*
@ -38,14 +38,14 @@ class SessionListener extends AbstractSessionListener
{
parent::onKernelRequest($event);
if (!$event->isMasterRequest() || !$this->container->has('session')) {
if (!$event->isMainRequest() || !$this->container->has('session')) {
return;
}
if ($this->container->has('session_storage')
&& ($storage = $this->container->get('session_storage')) instanceof NativeSessionStorage
&& ($masterRequest = $this->container->get('request_stack')->getMasterRequest())
&& $masterRequest->isSecure()
&& ($mainRequest = $this->container->get('request_stack')->getMainRequest())
&& $mainRequest->isSecure()
) {
$storage->setOptions(['cookie_secure' => true]);
}

View File

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

View File

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

View File

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

View File

@ -66,7 +66,7 @@ class FragmentHandler
* @return string|null The Response content or null when the Response is streamed
*
* @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 = [])
{

View File

@ -44,7 +44,7 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
* 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
* 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)
*
* * 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
*/
@ -190,10 +190,10 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
/**
* {@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
if (HttpKernelInterface::MASTER_REQUEST === $type) {
if (HttpKernelInterface::MAIN_REQUEST === $type) {
$this->traces = [];
// 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
@ -224,12 +224,12 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
$this->restoreResponseBody($request, $response);
if (HttpKernelInterface::MASTER_REQUEST === $type) {
if (HttpKernelInterface::MAIN_REQUEST === $type) {
$this->addTraces($response);
}
if (null !== $this->surrogate) {
if (HttpKernelInterface::MASTER_REQUEST === $type) {
if (HttpKernelInterface::MAIN_REQUEST === $type) {
$this->surrogateCacheStrategy->update($response);
} else {
$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)
$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.

View File

@ -17,7 +17,7 @@ use Symfony\Component\HttpFoundation\Response;
* ResponseCacheStrategy knows how to compute the Response cache HTTP header
* 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.
*
* @author Fabien Potencier <fabien@symfony.com>

View File

@ -42,7 +42,7 @@ final class HttpClientKernel implements HttpKernelInterface
$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);
$body = '';

View File

@ -71,7 +71,7 @@ class HttpKernel implements HttpKernelInterface, TerminableInterface
/**
* {@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());
@ -104,11 +104,11 @@ class HttpKernel implements HttpKernelInterface, TerminableInterface
*/
public function terminateWithException(\Throwable $exception, Request $request = null)
{
if (!$request = $request ?: $this->requestStack->getMasterRequest()) {
if (!$request = $request ?: $this->requestStack->getMainRequest()) {
throw $exception;
}
$response = $this->handleThrowable($exception, $request, self::MASTER_REQUEST);
$response = $this->handleThrowable($exception, $request, self::MAIN_REQUEST);
$response->sendHeaders();
$response->sendContent();
@ -124,7 +124,7 @@ class HttpKernel implements HttpKernelInterface, TerminableInterface
* @throws \LogicException If one of the listener does not behave as expected
* @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);

View File

@ -60,7 +60,7 @@ class HttpKernelBrowser extends AbstractBrowser
*/
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) {
$this->kernel->terminate($request, $response);

View File

@ -21,9 +21,15 @@ use Symfony\Component\HttpFoundation\Response;
*/
interface HttpKernelInterface
{
public const MASTER_REQUEST = 1;
public const MAIN_REQUEST = 1;
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.
*
@ -31,12 +37,12 @@ interface HttpKernelInterface
* and do its best to convert them to a Response instance.
*
* @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
*
* @return Response A Response instance
*
* @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}
*/
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) {
$container = $this->container ?? $this->preBoot();

View File

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

View File

@ -210,7 +210,7 @@ class RequestDataCollectorTest extends TestCase
$kernel = $this->createMock(HttpKernelInterface::class);
$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'));
}
@ -374,7 +374,7 @@ class RequestDataCollectorTest extends TestCase
{
$resolver = $this->createMock(ControllerResolverInterface::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);
}

View File

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

View File

@ -29,7 +29,7 @@ class DisallowRobotsIndexingListenerTest extends TestCase
$response = new Response(...$responseArgs);
$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);

View File

@ -105,8 +105,8 @@ class ErrorListenerTest extends TestCase
$request = new Request();
$exception = new \Exception('foo');
$event = new ExceptionEvent(new TestKernel(), $request, HttpKernelInterface::MASTER_REQUEST, $exception);
$event2 = new ExceptionEvent(new TestKernelThatThrowsException(), $request, HttpKernelInterface::MASTER_REQUEST, $exception);
$event = new ExceptionEvent(new TestKernel(), $request, HttpKernelInterface::MAIN_REQUEST, $exception);
$event2 = new ExceptionEvent(new TestKernelThatThrowsException(), $request, HttpKernelInterface::MAIN_REQUEST, $exception);
return [
[$event, $event2],
@ -125,7 +125,7 @@ class ErrorListenerTest extends TestCase
$request = Request::create('/');
$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);
$response = $event->getResponse();
@ -145,13 +145,13 @@ class ErrorListenerTest extends TestCase
$dispatcher->addSubscriber($listener);
$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);
$response = new Response('', 200, ['content-security-policy' => "style-src 'self'"]);
$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);
$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());
});
$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);
$this->assertSame('OK: foo', $event->getResponse()->getContent());
@ -208,7 +208,7 @@ class TestLogger extends Logger implements DebugLoggerInterface
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');
}
@ -216,7 +216,7 @@ class TestKernel 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');
}

View File

@ -112,7 +112,7 @@ class FragmentListenerTest extends TestCase
$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);
}

View File

@ -40,7 +40,7 @@ class LocaleAwareListenerTest extends TestCase
->method('setLocale')
->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);
}
@ -57,7 +57,7 @@ class LocaleAwareListenerTest extends TestCase
$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);
}

View File

@ -100,7 +100,7 @@ class LocaleListenerTest extends TestCase
$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->onKernelFinishRequest($event);
@ -119,6 +119,6 @@ class LocaleListenerTest extends TestCase
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
{
/**
* 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()
{
@ -40,23 +40,23 @@ class ProfilerListenerTest extends TestCase
->willReturn($profile);
$kernel = $this->createMock(HttpKernelInterface::class);
$masterRequest = $this->createMock(Request::class);
$mainRequest = $this->createMock(Request::class);
$subRequest = $this->createMock(Request::class);
$response = $this->createMock(Response::class);
$requestStack = new RequestStack();
$requestStack->push($masterRequest);
$requestStack->push($mainRequest);
$onlyException = true;
$listener = new ProfilerListener($profiler, $requestStack, null, $onlyException);
// master request
$listener->onKernelResponse(new ResponseEvent($kernel, $masterRequest, Kernel::MASTER_REQUEST, $response));
// main request
$listener->onKernelResponse(new ResponseEvent($kernel, $mainRequest, Kernel::MAIN_REQUEST, $response));
// sub request
$listener->onKernelException(new ExceptionEvent($kernel, $subRequest, Kernel::SUB_REQUEST, new HttpException(404)));
$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');
$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->assertEquals('ISO-8859-15', $response->getCharset());
@ -72,7 +72,7 @@ class ResponseListenerTest extends TestCase
$response = new Response('foo');
$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->assertEquals('ISO-8859-1', $response->getCharset());
@ -87,7 +87,7 @@ class ResponseListenerTest extends TestCase
$request = Request::create('/');
$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->assertEquals('ISO-8859-15', $response->getCharset());

View File

@ -83,7 +83,7 @@ class RouterListenerTest extends TestCase
$request = Request::create($uri);
$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()
@ -96,7 +96,7 @@ class RouterListenerTest extends TestCase
{
$kernel = $this->createMock(HttpKernelInterface::class);
$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->expects($this->once())
@ -112,7 +112,7 @@ class RouterListenerTest extends TestCase
{
$kernel = $this->createMock(HttpKernelInterface::class);
$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->expects($this->any())
@ -154,7 +154,7 @@ class RouterListenerTest extends TestCase
$request = Request::create('http://localhost/');
$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()
@ -214,7 +214,7 @@ class RouterListenerTest extends TestCase
$this->expectException(BadRequestHttpException::class);
$kernel = $this->createMock(HttpKernelInterface::class);
$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);
@ -243,7 +243,7 @@ class RouterListenerTest extends TestCase
$request = Request::create('https://www.symfony.com/path');
$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->onKernelRequest($event);
@ -269,7 +269,7 @@ class RouterListenerTest extends TestCase
$kernel = $this->createMock(HttpKernelInterface::class);
$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->onKernelRequest($event);

View File

@ -32,11 +32,11 @@ use Symfony\Component\HttpKernel\KernelInterface;
class SessionListenerTest extends TestCase
{
public function testOnlyTriggeredOnMasterRequest()
public function testOnlyTriggeredOnMainRequest()
{
$listener = $this->getMockForAbstractClass(AbstractSessionListener::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');
// sub request
@ -48,7 +48,7 @@ class SessionListenerTest extends TestCase
$session = $this->createMock(Session::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->expects($this->never())->method('setOptions')->with(['cookie_secure' => true]);
@ -62,7 +62,7 @@ class SessionListenerTest extends TestCase
$listener = new SessionListener($container);
$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);
$listener->onKernelRequest($event);
@ -83,10 +83,10 @@ class SessionListenerTest extends TestCase
$kernel = $this->createMock(HttpKernelInterface::class);
$request = new Request();
$listener->onKernelRequest(new RequestEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST));
$listener->onKernelRequest(new RequestEvent($kernel, $request, HttpKernelInterface::MAIN_REQUEST));
$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->hasCacheControlDirective('private'));
@ -108,12 +108,12 @@ class SessionListenerTest extends TestCase
$kernel = $this->createMock(HttpKernelInterface::class);
$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->setSharedMaxAge(60);
$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->assertFalse($response->headers->has('Expires'));
@ -135,7 +135,7 @@ class SessionListenerTest extends TestCase
]);
$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->assertTrue($response->headers->hasCacheControlDirective('public'));
$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));
}
public function testSurrogateMasterRequestIsPublic()
public function testSurrogateMainRequestIsPublic()
{
$session = $this->createMock(Session::class);
$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();
$response = new Response();
$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());
$subRequest = clone $request;
$this->assertSame($request->getSession(), $subRequest->getSession());
$listener->onKernelRequest(new RequestEvent($kernel, $subRequest, HttpKernelInterface::MASTER_REQUEST));
$listener->onKernelResponse(new ResponseEvent($kernel, $subRequest, HttpKernelInterface::MASTER_REQUEST, $response));
$listener->onFinishRequest(new FinishRequestEvent($kernel, $subRequest, HttpKernelInterface::MASTER_REQUEST));
$listener->onKernelRequest(new RequestEvent($kernel, $subRequest, HttpKernelInterface::MAIN_REQUEST));
$listener->onKernelResponse(new ResponseEvent($kernel, $subRequest, HttpKernelInterface::MAIN_REQUEST, $response));
$listener->onFinishRequest(new FinishRequestEvent($kernel, $subRequest, HttpKernelInterface::MAIN_REQUEST));
$this->assertFalse($response->headers->has('Expires'));
$this->assertFalse($response->headers->hasCacheControlDirective('private'));
$this->assertFalse($response->headers->hasCacheControlDirective('must-revalidate'));
$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('must-revalidate'));
@ -194,14 +194,14 @@ class SessionListenerTest extends TestCase
->with(['cookie_secure' => true]);
$requestStack = new RequestStack();
$requestStack->push($masterRequest = new Request([], [], [], [], [], ['HTTPS' => 'on']));
$requestStack->push($mainRequest = new Request([], [], [], [], [], ['HTTPS' => 'on']));
$container = new Container();
$container->set('session_storage', $sessionStorage);
$container->set('session', $session);
$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->onKernelRequest($event);
@ -210,10 +210,10 @@ class SessionListenerTest extends TestCase
$container->set('session_storage', null);
$sessionStorage = null;
$subRequest = $masterRequest->duplicate();
// at this point both master and subrequest have a closure to build the session
$subRequest = $mainRequest->duplicate();
// 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()
$subRequest->getSession();
@ -232,10 +232,10 @@ class SessionListenerTest extends TestCase
$request = new Request();
$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);
$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()
@ -255,9 +255,9 @@ class SessionListenerTest extends TestCase
$request = new Request();
$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()
@ -276,11 +276,11 @@ class SessionListenerTest extends TestCase
$request = new Request();
$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();
$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()

View File

@ -45,7 +45,7 @@ class SurrogateListenerTest extends TestCase
$listener = new SurrogateListener(new Esi());
$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);
$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());
$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);
$this->assertEquals('', $event->getResponse()->headers->get('Surrogate-Control'));

View File

@ -51,7 +51,7 @@ class TestSessionListenerTest extends TestCase
->willReturn($this->session);
}
public function testShouldSaveMasterRequestSession()
public function testShouldSaveMainRequestSession()
{
$this->sessionHasBeenStarted();
$this->sessionMustBeSaved();
@ -72,7 +72,7 @@ class TestSessionListenerTest extends TestCase
@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();
$this->assertEquals(0, reset($cookies)->getExpiresTime());
@ -86,7 +86,7 @@ class TestSessionListenerTest extends TestCase
$this->sessionHasBeenStarted();
$this->sessionIsEmpty();
$response = $this->filterResponse(new Request(), HttpKernelInterface::MASTER_REQUEST);
$response = $this->filterResponse(new Request(), HttpKernelInterface::MAIN_REQUEST);
$this->assertSame([], $response->headers->getCookies());
}
@ -99,10 +99,10 @@ class TestSessionListenerTest extends TestCase
$kernel = $this->createMock(HttpKernelInterface::class);
$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);
$response = $this->filterResponse(new Request(), HttpKernelInterface::MASTER_REQUEST);
$response = $this->filterResponse(new Request(), HttpKernelInterface::MAIN_REQUEST);
$this->assertNotEmpty($response->headers->getCookies());
}
@ -118,12 +118,12 @@ class TestSessionListenerTest extends TestCase
$kernel = $this->createMock(HttpKernelInterface::class);
$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);
$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']);
}
@ -148,14 +148,14 @@ class TestSessionListenerTest extends TestCase
public function testDoesNotThrowIfRequestDoesNotHaveASession()
{
$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->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);
$response = $response ?: new Response();

View File

@ -27,7 +27,7 @@ class ValidateRequestListenerTest extends TestCase
Request::setTrustedProxies([], -1);
}
public function testListenerThrowsWhenMasterRequestHasInconsistentClientIps()
public function testListenerThrowsWhenMainRequestHasInconsistentClientIps()
{
$this->expectException(ConflictingHeadersException::class);
$dispatcher = new EventDispatcher();
@ -40,7 +40,7 @@ class ValidateRequestListenerTest extends TestCase
$request->headers->set('X_FORWARDED_FOR', '3.3.3.3');
$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);
}

View File

@ -1209,7 +1209,7 @@ class HttpCacheTest extends HttpCacheTestCase
$responses = [
[
'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' => [
'Cache-Control' => 's-maxage=300',
'Surrogate-Control' => 'content="ESI/1.0"',
@ -1267,7 +1267,7 @@ class HttpCacheTest extends HttpCacheTestCase
$responses = [
[
'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' => [
'Cache-Control' => 's-maxage=300',
'Surrogate-Control' => 'content="ESI/1.0"',
@ -1511,7 +1511,7 @@ class HttpCacheTest extends HttpCacheTestCase
$request->server->set('REMOTE_ADDR', '10.0.0.1');
// Main request
$cache->handle($request, HttpKernelInterface::MASTER_REQUEST);
$cache->handle($request, HttpKernelInterface::MAIN_REQUEST);
// Main request was now modified by HttpCache
// The surrogate will ask for the request using $this->cache->getRequest()
@ -1734,7 +1734,7 @@ class TestKernel implements HttpKernelInterface
$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->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;
}

View File

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

View File

@ -51,7 +51,7 @@ class SubRequestHandlerTest extends TestCase
$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());
}
@ -75,7 +75,7 @@ class SubRequestHandlerTest extends TestCase
$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());
}
@ -97,7 +97,7 @@ class SubRequestHandlerTest extends TestCase
$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());
}
@ -120,7 +120,7 @@ class SubRequestHandlerTest extends TestCase
$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());
}
@ -143,7 +143,7 @@ class TestSubRequestHandlerKernel implements HttpKernelInterface
$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($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->backendRequest = [Request::getTrustedProxies(), Request::getTrustedHeaderSet(), $request];

View File

@ -43,7 +43,7 @@ class TestMultipleHttpKernel extends HttpKernel implements ControllerResolverInt
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;

View File

@ -37,7 +37,7 @@ class HttpKernelTest extends TestCase
$this->expectException(\RuntimeException::class);
$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()
@ -45,7 +45,7 @@ class HttpKernelTest extends TestCase
$this->expectException(\RuntimeException::class);
$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()
@ -56,7 +56,7 @@ class HttpKernelTest extends TestCase
});
$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('foo', $response->getContent());
@ -74,7 +74,7 @@ class HttpKernelTest extends TestCase
$kernel = $this->getHttpKernel($dispatcher, function () use ($exception) { throw $exception; });
try {
$kernel->handle(new Request(), HttpKernelInterface::MASTER_REQUEST, true);
$kernel->handle(new Request(), HttpKernelInterface::MAIN_REQUEST, true);
$this->fail('LogicException expected');
} catch (\RuntimeException $e) {
$this->assertSame($exception, $e);
@ -313,10 +313,10 @@ class HttpKernelTest extends TestCase
$dispatcher = new EventDispatcher();
$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);
$request = new Request();
@ -331,7 +331,7 @@ class HttpKernelTest extends TestCase
});
$kernel = $this->getHttpKernel($dispatcher);
$kernel->handle($request, $kernel::MASTER_REQUEST, false);
$kernel->handle($request, $kernel::MAIN_REQUEST, false);
Request::setTrustedProxies([], -1);
}

View File

@ -190,7 +190,7 @@ class KernelTest extends TestCase
public function testHandleCallsHandleOnHttpKernel()
{
$type = HttpKernelInterface::MASTER_REQUEST;
$type = HttpKernelInterface::MAIN_REQUEST;
$catch = true;
$request = new Request();
@ -212,7 +212,7 @@ class KernelTest extends TestCase
public function testHandleBootsTheKernel()
{
$type = HttpKernelInterface::MASTER_REQUEST;
$type = HttpKernelInterface::MAIN_REQUEST;
$catch = true;
$request = new Request();
@ -678,7 +678,7 @@ class TestKernel implements HttpKernelInterface
$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/event-dispatcher": "^5.0",
"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-php73": "^1.9",
"symfony/polyfill-php80": "^1.15",

View File

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

View File

@ -66,11 +66,20 @@ final class LazyResponseEvent extends RequestEvent
return $this->event->getRequestType();
}
/**
* {@inheritdoc}
*/
public function isMainRequest(): bool
{
return $this->event->isMainRequest();
}
/**
* {@inheritdoc}
*/
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;
}
$request = $this->requestStack->getMasterRequest();
$request = $this->requestStack->getMainRequest();
$request->attributes->set(Security::LAST_USERNAME, $passport->getBadge(UserBadge::class)->getUserIdentifier());
$limit = $this->limiter->consume($request);

View File

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

View File

@ -86,7 +86,7 @@ class ContextListener extends AbstractListener
*/
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->registered = true;
}
@ -153,7 +153,7 @@ class ContextListener extends AbstractListener
*/
public function onKernelResponse(ResponseEvent $event)
{
if (!$event->isMasterRequest()) {
if (!$event->isMainRequest()) {
return;
}

View File

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

View File

@ -74,7 +74,7 @@ class AccessListenerTest extends TestCase
$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()
@ -138,7 +138,7 @@ class AccessListenerTest extends TestCase
$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()
@ -173,7 +173,7 @@ class AccessListenerTest extends TestCase
$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()
@ -201,7 +201,7 @@ class AccessListenerTest extends TestCase
$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));
}
@ -233,7 +233,7 @@ class AccessListenerTest extends TestCase
$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()
@ -263,7 +263,7 @@ class AccessListenerTest extends TestCase
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()
@ -292,7 +292,7 @@ class AccessListenerTest extends TestCase
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()
@ -323,7 +323,7 @@ class AccessListenerTest extends TestCase
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()
@ -363,6 +363,6 @@ class AccessListenerTest extends TestCase
$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 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()
@ -75,7 +75,7 @@ class AnonymousAuthenticationListenerTest extends TestCase
;
$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()
@ -90,6 +90,6 @@ class AnonymousAuthenticationListenerTest extends TestCase
$authenticationManager = $this->createMock(AuthenticationManagerInterface::class);
$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(
$this->createMock(HttpKernelInterface::class),
$request,
HttpKernelInterface::MASTER_REQUEST,
HttpKernelInterface::MAIN_REQUEST,
new Response()
);
@ -131,7 +131,7 @@ class ContextListenerTest extends TestCase
$event = new ResponseEvent(
$this->createMock(HttpKernelInterface::class),
$request,
HttpKernelInterface::MASTER_REQUEST,
HttpKernelInterface::MAIN_REQUEST,
new Response()
);
@ -192,7 +192,7 @@ class ContextListenerTest extends TestCase
$listener = new ContextListener($tokenStorage, [], 'key123', null, $dispatcher);
$event->expects($this->any())
->method('isMasterRequest')
->method('isMainRequest')
->willReturn(true);
$event->expects($this->any())
->method('getRequest')
@ -221,7 +221,7 @@ class ContextListenerTest extends TestCase
->method('getSession')
->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())
->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 RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST));
$listener(new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST));
$this->assertNull($tokenStorage->getToken());
}
@ -351,7 +351,7 @@ class ContextListenerTest extends TestCase
$tokenStorage = new TokenStorage();
$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());
}
@ -370,7 +370,7 @@ class ContextListenerTest extends TestCase
$tokenStorage = new TokenStorage();
$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)
@ -402,7 +402,7 @@ class ContextListenerTest extends TestCase
$event = new ResponseEvent(
$this->createMock(HttpKernelInterface::class),
$request,
HttpKernelInterface::MASTER_REQUEST,
HttpKernelInterface::MAIN_REQUEST,
new Response()
);
@ -452,7 +452,7 @@ class ContextListenerTest extends TestCase
if ($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) {
++$usageIndex;

View File

@ -203,7 +203,7 @@ class ExceptionListenerTest extends TestCase
$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)

View File

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

View File

@ -53,7 +53,7 @@ class SwitchUserListenerTest extends TestCase
$this->userChecker = $this->createMock(UserCheckerInterface::class);
$this->accessDecisionManager = $this->createMock(AccessDecisionManagerInterface::class);
$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()

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