From 5ad4d8a359cc6a427cd5eddc7bd1475a3a1db37a Mon Sep 17 00:00:00 2001 From: Pablo Godel Date: Sat, 23 Aug 2014 17:40:29 -0400 Subject: [PATCH] Remove hard dependency of RequestContext in AssetsExtension --- .../Bundle/TwigBundle/Extension/AssetsExtension.php | 7 ++++++- src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Bundle/TwigBundle/Extension/AssetsExtension.php b/src/Symfony/Bundle/TwigBundle/Extension/AssetsExtension.php index 05f8b0665e2a..073fb4b681a0 100644 --- a/src/Symfony/Bundle/TwigBundle/Extension/AssetsExtension.php +++ b/src/Symfony/Bundle/TwigBundle/Extension/AssetsExtension.php @@ -24,7 +24,7 @@ class AssetsExtension extends \Twig_Extension private $container; private $context; - public function __construct(ContainerInterface $container, RequestContext $requestContext) + public function __construct(ContainerInterface $container, RequestContext $requestContext = null) { $this->container = $container; $this->context = $requestContext; @@ -94,6 +94,7 @@ public function getName() * @param string $url The URL that has to be absolute * * @return string The absolute URL + * @throws \RuntimeException */ private function ensureUrlIsAbsolute($url) { @@ -101,6 +102,10 @@ private function ensureUrlIsAbsolute($url) return $url; } + if (!$this->context) { + throw new \RuntimeException('To generate an absolute URL for an asset, the Symfony Routing component is required.'); + } + if ('' === $host = $this->context->getHost()) { return $url; } diff --git a/src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml b/src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml index 945bd876a07a..a63f824c7981 100644 --- a/src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml +++ b/src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml @@ -66,7 +66,7 @@ - +