Commit bc964dc4 authored by catch's avatar catch
Browse files

Issue #3265356 by Spokje, andypost, neclimdul: Deprecate Symfony 4...

Issue #3265356 by Spokje, andypost, neclimdul: Deprecate Symfony 4 RequestStack BC shim for removal in D11
parent 8a0b901d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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:
+10 −15
Original line number Diff line number Diff line
@@ -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')) {
    @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();
  }
    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();
  }

}
+6 −4
Original line number Diff line number Diff line
@@ -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());
  }

}
+1 −1
Original line number Diff line number Diff line
@@ -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.
+1 −1
Original line number Diff line number Diff line
@@ -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
Loading