Skip to content

Commit 05d4852

Browse files
Introduce isStateless method
1 parent c852b8b commit 05d4852

File tree

7 files changed

+13
-8
lines changed

7 files changed

+13
-8
lines changed

src/Symfony/Bundle/SecurityBundle/Tests/Security/FirewallMapTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public function testGetListeners(Request $request, bool $expectedState)
8888
$this->assertEquals([[$listener], $exceptionListener, $logoutListener], $firewallMap->getListeners($request));
8989
$this->assertEquals($firewallConfig, $firewallMap->getFirewallConfig($request));
9090
$this->assertEquals('security.firewall.map.context.foo', $request->attributes->get(self::ATTRIBUTE_FIREWALL_CONTEXT));
91-
$this->assertEquals($expectedState, $request->attributes->get('_stateless'));
91+
$this->assertEquals($expectedState, $request->isStateless());
9292
}
9393

9494
public static function providesStatefulStatelessRequests(): \Generator

src/Symfony/Component/HttpFoundation/Request.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,6 +652,11 @@ public function get(string $key, mixed $default = null): mixed
652652
return $default;
653653
}
654654

655+
public function isStateless(): bool
656+
{
657+
return $this->attributes->getBoolean('_stateless');
658+
}
659+
655660
/**
656661
* Gets the Session.
657662
*

src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ public function collect(Request $request, Response $response, ?\Throwable $excep
106106
'session_metadata' => $sessionMetadata,
107107
'session_attributes' => $sessionAttributes,
108108
'session_usages' => array_values($this->sessionUsages),
109-
'stateless_check' => $this->requestStack?->getMainRequest()?->attributes->get('_stateless') ?? false,
109+
'stateless_check' => $this->requestStack?->getMainRequest()?->isStateless() ?? false,
110110
'flashes' => $flashes,
111111
'path_info' => $request->getPathInfo(),
112112
'controller' => 'n/a',

src/Symfony/Component/HttpKernel/EventListener/AbstractSessionListener.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ public function onKernelResponse(ResponseEvent $event): void
206206
->headers->addCacheControlDirective('must-revalidate');
207207
}
208208

209-
if (!$event->getRequest()->attributes->get('_stateless', false)) {
209+
if (!$event->getRequest()->isStateless()) {
210210
return;
211211
}
212212

@@ -239,7 +239,7 @@ public function onSessionUsage(): void
239239
$stateless = false;
240240
$clonedRequestStack = clone $requestStack;
241241
while (null !== ($request = $clonedRequestStack->pop()) && !$stateless) {
242-
$stateless = $request->attributes->get('_stateless');
242+
$stateless = $request->isStateless();
243243
}
244244

245245
if (!$stateless) {

src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ public function testStatelessAttributeIsForwardedByDefault()
281281
$kernel
282282
->expects($this->once())
283283
->method('handle')
284-
->with($this->callback(static fn (Request $subRequest) => $subRequest->attributes->get('_stateless')))
284+
->with($this->callback(static fn (Request $subRequest) => $subRequest->isStateless()))
285285
;
286286
$strategy = new InlineFragmentRenderer($kernel);
287287
$strategy->render('/', $request);
@@ -296,7 +296,7 @@ public function testStatelessAttributeCanBeDisabled()
296296
$kernel
297297
->expects($this->once())
298298
->method('handle')
299-
->with($this->callback(static fn (Request $subRequest) => !$subRequest->attributes->get('_stateless')))
299+
->with($this->callback(static fn (Request $subRequest) => !$subRequest->isStateless()))
300300
;
301301
$strategy = new InlineFragmentRenderer($kernel);
302302
$strategy->render(new ControllerReference('main_controller', ['_stateless' => false]), $request);

src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationFailureHandler.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public function onAuthenticationFailure(Request $request, AuthenticationExceptio
8686

8787
$this->logger?->debug('Authentication failure, redirect triggered.', ['failure_path' => $options['failure_path']]);
8888

89-
if (!$request->attributes->getBoolean('_stateless')) {
89+
if (!$request->isStateless()) {
9090
$request->getSession()->set(SecurityRequestAttributes::AUTHENTICATION_ERROR, $exception);
9191
}
9292

src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationSuccessHandler.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ protected function determineTargetUrl(Request $request): string
9999
}
100100

101101
$firewallName = $this->getFirewallName();
102-
if (null !== $firewallName && !$request->attributes->getBoolean('_stateless') && $targetUrl = $this->getTargetPath($request->getSession(), $firewallName)) {
102+
if (null !== $firewallName && !$request->isStateless() && $targetUrl = $this->getTargetPath($request->getSession(), $firewallName)) {
103103
$this->removeTargetPath($request->getSession(), $firewallName);
104104

105105
return $targetUrl;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy