commit 6eeb27c18e6801ca57f26495552f735935eafd16 (HEAD, foo) Author: Tim Plunkett Date: Wed Sep 24 17:02:20 2014 -0700 Add RequestContext wrapper. diff --git a/core/core.services.yml b/core/core.services.yml index f5ed5db..9ba995e 100644 --- a/core/core.services.yml +++ b/core/core.services.yml @@ -456,9 +456,11 @@ services: tags: - { name: backend_overridable } router.request_context: - class: Symfony\Component\Routing\RequestContext + class: Drupal\Core\Routing\RequestContext tags: - { name: persist } + calls: + - [fromRequestStack, ['@request_stack']] router.admin_context: class: Drupal\Core\Routing\AdminContext arguments: ['@request_stack'] diff --git a/core/lib/Drupal/Core/Routing/AccessAwareRouter.php b/core/lib/Drupal/Core/Routing/AccessAwareRouter.php index 3ca0c1e..1cf937c 100644 --- a/core/lib/Drupal/Core/Routing/AccessAwareRouter.php +++ b/core/lib/Drupal/Core/Routing/AccessAwareRouter.php @@ -12,7 +12,7 @@ use Symfony\Cmf\Component\Routing\ChainRouter; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException; -use Symfony\Component\Routing\RequestContext; +use Symfony\Component\Routing\RequestContext as SymfonyRequestContext; /** * A router class for Drupal with access check and upcasting. @@ -68,7 +68,7 @@ public function __call($name, $arguments) { /** * {@inheritdoc} */ - public function setContext(RequestContext $context) { + public function setContext(SymfonyRequestContext $context) { $this->chainRouter->setContext($context); } diff --git a/core/lib/Drupal/Core/Routing/NullGenerator.php b/core/lib/Drupal/Core/Routing/NullGenerator.php index 25a99bf..a271538 100644 --- a/core/lib/Drupal/Core/Routing/NullGenerator.php +++ b/core/lib/Drupal/Core/Routing/NullGenerator.php @@ -8,7 +8,7 @@ namespace Drupal\Core\Routing; use Symfony\Component\HttpFoundation\RequestStack; -use Symfony\Component\Routing\RequestContext; +use Symfony\Component\Routing\RequestContext as SymfonyRequestContext; use Symfony\Component\Routing\Exception\RouteNotFoundException; use Symfony\Component\Routing\Route; @@ -57,7 +57,7 @@ protected function getInternalPathFromRoute(Route $route, $parameters = array()) /** * Overrides Drupal\Core\Routing\UrlGenerator::setContext(); */ - public function setContext(RequestContext $context) { + public function setContext(SymfonyRequestContext $context) { } /** diff --git a/core/lib/Drupal/Core/Routing/RequestContext.php b/core/lib/Drupal/Core/Routing/RequestContext.php new file mode 100644 index 0000000..b4c2493 --- /dev/null +++ b/core/lib/Drupal/Core/Routing/RequestContext.php @@ -0,0 +1,27 @@ +fromRequest($request_stack->getCurrentRequest()); + } + +} diff --git a/core/lib/Drupal/Core/Routing/UrlMatcher.php b/core/lib/Drupal/Core/Routing/UrlMatcher.php index c347b51..a7ed9e8 100644 --- a/core/lib/Drupal/Core/Routing/UrlMatcher.php +++ b/core/lib/Drupal/Core/Routing/UrlMatcher.php @@ -9,7 +9,6 @@ use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\RouteCollection; -use Symfony\Component\Routing\RequestContext; use Symfony\Cmf\Component\Routing\NestedMatcher\UrlMatcher as BaseUrlMatcher; /** diff --git a/core/modules/system/src/Tests/Bootstrap/PageCacheTest.php b/core/modules/system/src/Tests/Bootstrap/PageCacheTest.php index c206e7e..6cd53e8 100644 --- a/core/modules/system/src/Tests/Bootstrap/PageCacheTest.php +++ b/core/modules/system/src/Tests/Bootstrap/PageCacheTest.php @@ -8,7 +8,7 @@ namespace Drupal\system\Tests\Bootstrap; use Drupal\Component\Datetime\DateTimePlus; -use Symfony\Component\Routing\RequestContext; +use Drupal\Core\Routing\RequestContext; use Drupal\simpletest\WebTestBase; use Drupal\Core\Cache\Cache; diff --git a/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php b/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php index bdb1dd7..f5366f0 100644 --- a/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php +++ b/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php @@ -9,6 +9,7 @@ use Drupal\Core\PathProcessor\PathProcessorAlias; use Drupal\Core\PathProcessor\PathProcessorManager; +use Drupal\Core\Routing\RequestContext; use Drupal\Core\Routing\UrlGenerator; use Drupal\Core\Site\Settings; use Drupal\Tests\UnitTestCase; @@ -16,7 +17,6 @@ use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\Routing\Route; use Symfony\Component\Routing\RouteCollection; -use Symfony\Component\Routing\RequestContext; /** * Confirm that the UrlGenerator is functioning properly. @@ -120,8 +120,12 @@ protected function setUp() { $this->aliasManager = $alias_manager; + $this->requestStack = new RequestStack(); + $request = Request::create('/some/path'); + $this->requestStack->push($request); + $context = new RequestContext(); - $context->fromRequest($request = Request::create('/some/path')); + $context->fromRequestStack($this->requestStack); $processor = new PathProcessorAlias($this->aliasManager); $processor_manager = new PathProcessorManager(); @@ -133,9 +137,6 @@ protected function setUp() { $config_factory_stub = $this->getConfigFactoryStub(array('system.filter' => array('protocols' => array('http', 'https')))); - $this->requestStack = new RequestStack(); - $this->requestStack->push($request); - $generator = new UrlGenerator($provider, $processor_manager, $this->routeProcessorManager, $config_factory_stub, new Settings(array()), NULL, $this->requestStack); $generator->setContext($context); $this->generator = $generator;