diff --git a/core/core.services.yml b/core/core.services.yml index fbb93c57c6d9c4daa7d54991eb2e99fe2e94a6e0..1613205068771ad592805db7b3f978aa50ce0021 100644 --- a/core/core.services.yml +++ b/core/core.services.yml @@ -716,7 +716,7 @@ services: class: Drupal\Core\Menu\StaticMenuLinkOverrides arguments: ['@config.factory'] request_stack: - class: Drupal\Core\Http\RequestStack + class: Symfony\Component\HttpFoundation\RequestStack tags: - { name: persist } current_route_match: diff --git a/core/lib/Drupal/Core/Http/RequestStack.php b/core/lib/Drupal/Core/Http/RequestStack.php index 604c5b3282cd40a0f0aa94e1ae4330c15d9ab602..74b3e0b9e0fe933f95315d212c177833d4efa0bc 100644 --- a/core/lib/Drupal/Core/Http/RequestStack.php +++ b/core/lib/Drupal/Core/Http/RequestStack.php @@ -2,13 +2,20 @@ namespace Drupal\Core\Http; +@trigger_error('The ' . __NAMESPACE__ . '\RequestStack is deprecated in drupal:10.0.0 and is removed from drupal:11.0.0. There is no replacement. See https://www.drupal.org/node/3265357', E_USER_DEPRECATED); + use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RequestStack as SymfonyRequestStack; /** * Forward-compatibility shim for Symfony's RequestStack. * - * @todo Remove when Symfony 5.3 or greater is required. + * @deprecated in drupal:10.0.0 and is removed from drupal:11.0.0. There is no + * replacement. + * + * @see https://www.drupal.org/node/3265357 + * + * @todo Remove this in Drupal 11 https://www.drupal.org/node/3265121 */ class RequestStack extends SymfonyRequestStack { @@ -19,20 +26,8 @@ class RequestStack extends SymfonyRequestStack { * The main request. */ public function getMainRequest(): ?Request { - if (method_exists(SymfonyRequestStack::class, 'getMainRequest')) { - return parent::getMainRequest(); - } - else { - return parent::getMasterRequest(); - } - } - - /** - * {@inheritdoc} - */ - public function getMasterRequest(): ?Request { - @trigger_error('Drupal\Core\Http\RequestStack::getMasterRequest() is deprecated, use getMainRequest() instead.', E_USER_DEPRECATED); - return $this->getMainRequest(); + @trigger_error('The ' . __NAMESPACE__ . '\RequestStack is deprecated in drupal:10.0.0 and is removed from drupal:11.0.0. There is no replacement. See https://www.drupal.org/node/3265357', E_USER_DEPRECATED); + return parent::getMainRequest(); } } diff --git a/core/tests/Drupal/Tests/Core/Http/RequestStackLegacyTest.php b/core/tests/Drupal/Tests/Core/Http/RequestStackLegacyTest.php index 5860a12bab7868a9b37b45602ea1c3fc0c0a0532..0d739989f193599bbd664de106fd04f4b1fcfbd1 100644 --- a/core/tests/Drupal/Tests/Core/Http/RequestStackLegacyTest.php +++ b/core/tests/Drupal/Tests/Core/Http/RequestStackLegacyTest.php @@ -8,19 +8,21 @@ /** * @coversDefaultClass \Drupal\Core\Http\RequestStack * @group legacy + * + * @todo Remove this in Drupal 11 https://www.drupal.org/node/3265121 */ class RequestStackLegacyTest extends UnitTestCase { /** * Tests deprecation message in our subclassed RequestStack. * - * @covers ::getMasterRequest + * @covers ::getMainRequest */ - public function testGetMasterRequestDeprecation() { + public function testGetMainRequestDeprecation() { $stack = new RequestStack(); - $this->expectDeprecation('Drupal\Core\Http\RequestStack::getMasterRequest() is deprecated, use getMainRequest() instead.'); - $this->assertNull($stack->getMasterRequest()); + $this->expectDeprecation('The Drupal\Core\Http\RequestStack is deprecated in drupal:10.0.0 and is removed from drupal:11.0.0. There is no replacement. See https://www.drupal.org/node/3265357'); + $this->assertNull($stack->getMainRequest()); } } diff --git a/core/tests/Drupal/Tests/Core/Render/RendererTestBase.php b/core/tests/Drupal/Tests/Core/Render/RendererTestBase.php index 8f2a251b6151c3e3b873da16d726cca3c6d059cf..3acf9748642c8afd611d71da4413b62197f86a7b 100644 --- a/core/tests/Drupal/Tests/Core/Render/RendererTestBase.php +++ b/core/tests/Drupal/Tests/Core/Render/RendererTestBase.php @@ -11,7 +11,6 @@ use Drupal\Core\Cache\CacheableMetadata; use Drupal\Core\Cache\Context\ContextCacheKeys; use Drupal\Core\Cache\MemoryBackend; -use Drupal\Core\Http\RequestStack; use Drupal\Core\Security\TrustedCallbackInterface; use Drupal\Core\Render\PlaceholderGenerator; use Drupal\Core\Render\PlaceholderingRenderCache; @@ -19,6 +18,7 @@ use Drupal\Tests\UnitTestCase; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\RequestStack; /** * Base class for the actual unit tests testing \Drupal\Core\Render\Renderer. diff --git a/core/tests/Drupal/Tests/Core/TempStore/PrivateTempStoreTest.php b/core/tests/Drupal/Tests/Core/TempStore/PrivateTempStoreTest.php index 3586877c35ab9ef08b3fc7da0bb5631e70b30e43..0df104a907416f24b03975853bc72487e806f40d 100644 --- a/core/tests/Drupal/Tests/Core/TempStore/PrivateTempStoreTest.php +++ b/core/tests/Drupal/Tests/Core/TempStore/PrivateTempStoreTest.php @@ -2,12 +2,12 @@ namespace Drupal\Tests\Core\TempStore; -use Drupal\Core\Http\RequestStack; use Drupal\Core\TempStore\Lock; use Drupal\Tests\UnitTestCase; use Drupal\Core\TempStore\PrivateTempStore; use Drupal\Core\TempStore\TempStoreException; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\RequestStack; /** * @coversDefaultClass \Drupal\Core\TempStore\PrivateTempStore diff --git a/core/tests/Drupal/Tests/Core/TempStore/SharedTempStoreTest.php b/core/tests/Drupal/Tests/Core/TempStore/SharedTempStoreTest.php index 97be1742bc115950e152a05dedb2c58d82cf598b..75e7119209bab1679eeff67f699023dd1d73450d 100644 --- a/core/tests/Drupal/Tests/Core/TempStore/SharedTempStoreTest.php +++ b/core/tests/Drupal/Tests/Core/TempStore/SharedTempStoreTest.php @@ -3,7 +3,6 @@ namespace Drupal\Tests\Core\TempStore; use Drupal\Core\DependencyInjection\ContainerBuilder; -use Drupal\Core\Http\RequestStack; use Drupal\Core\KeyValueStore\KeyValueExpirableFactoryInterface; use Drupal\Core\Session\AccountProxyInterface; use Drupal\Core\TempStore\Lock; @@ -13,6 +12,7 @@ use Drupal\Core\TempStore\TempStoreException; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpFoundation\Session\SessionInterface; /**