diff --git a/composer.json b/composer.json index 0cace9e..ba32f77 100644 --- a/composer.json +++ b/composer.json @@ -13,21 +13,21 @@ "require": { "php": ">=5.3.9", "phpmentors/domain-kata": "~1.4", - "symfony/config": "~2.8|~3.0|~4.0", - "symfony/dependency-injection": "~2.8|~3.0|~4.0", - "symfony/framework-bundle": "~2.8|~3.0|~4.0", - "symfony/http-kernel": "~2.8|~3.0|~4.0", - "symfony/routing": "~2.8|~3.0|~4.0", - "symfony/templating": "~2.8|~3.0|~4.0" + "symfony/config": "~4.0|~5.0", + "symfony/dependency-injection": "~4.0|~5.0", + "symfony/framework-bundle": "~4.0|~5.0", + "symfony/http-kernel": "~4.0|~5.0", + "symfony/routing": "~4.0|~5.0", + "symfony/templating": "~4.0|~5.0" }, "require-dev": { "phpunit/phpunit": "~4.0", - "symfony/asset": "~2.8|~3.0|~4.0", - "symfony/browser-kit": "~2.8|~3.0|~4.0", - "symfony/filesystem": "~2.8|~3.0|~4.0", - "symfony/http-foundation": "~2.8|~3.0|~4.0", - "symfony/twig-bridge": "~2.8|~3.0|~4.0", - "symfony/twig-bundle": "~2.8|~3.0|~4.0" + "symfony/asset": "~4.0|~5.0", + "symfony/browser-kit": "~4.0|~5.0", + "symfony/filesystem": "~4.0|~5.0", + "symfony/http-foundation": "~4.0|~5.0", + "symfony/twig-bridge": "~4.0|~5.0", + "symfony/twig-bundle": "~4.0|~5.0" }, "autoload": { "psr-4": { diff --git a/src/DependencyInjection/Configuration.php b/src/DependencyInjection/Configuration.php index 175802f..30720f8 100644 --- a/src/DependencyInjection/Configuration.php +++ b/src/DependencyInjection/Configuration.php @@ -23,8 +23,8 @@ class Configuration implements ConfigurationInterface */ public function getConfigTreeBuilder() { - $treeBuilder = new TreeBuilder(); - $treeBuilder->root('phpmentors_proxy_url_rewrite') + $treeBuilder = new TreeBuilder('phpmentors_proxy_url_rewrite'); + $treeBuilder->getRootNode() ->canBeEnabled() ->fixXmlConfig('proxy_url') ->children() @@ -38,17 +38,6 @@ public function getConfigTreeBuilder() ->scalarNode('proxy_url') ->isRequired() ->cannotBeEmpty() - ->validate() - ->always(function ($v) { - try { - ProxyUrlFactory::parseUrl($v); - } catch (\UnexpectedValueException $e) { - throw new \InvalidArgumentException($e->getMessage()); - } - - return $v; - }) - ->end() ->end() ->scalarNode('proxy_host_filter_service') ->defaultNull() diff --git a/src/DependencyInjection/PHPMentorsProxyURLRewriteExtension.php b/src/DependencyInjection/PHPMentorsProxyURLRewriteExtension.php index fdfc83e..65eefa1 100644 --- a/src/DependencyInjection/PHPMentorsProxyURLRewriteExtension.php +++ b/src/DependencyInjection/PHPMentorsProxyURLRewriteExtension.php @@ -12,6 +12,7 @@ namespace PHPMentors\ProxyURLRewriteBundle\DependencyInjection; +use PHPMentors\ProxyURLRewriteBundle\ProxyUrl\ProxyUrlFactory; use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Loader\XmlFileLoader; @@ -49,6 +50,13 @@ private function transformConfigToContainer(array $config, ContainerBuilder $con { if ($config['enabled']) { foreach ($config['proxy_urls'] as $id => $proxyUrl) { + + try{ + ProxyUrlFactory::parseUrl($proxyUrl['path']); + } catch (\UnexpectedValueException $e) { + throw new \InvalidArgumentException($e->getMessage()); + } + if (class_exists('Symfony\Component\DependencyInjection\ChildDefinition')) { $definitionClass = 'Symfony\Component\DependencyInjection\ChildDefinition'; } else { diff --git a/src/EventListener/ProxyUrlRewriteListener.php b/src/EventListener/ProxyUrlRewriteListener.php index 197d10e..8c7ad5d 100644 --- a/src/EventListener/ProxyUrlRewriteListener.php +++ b/src/EventListener/ProxyUrlRewriteListener.php @@ -14,6 +14,7 @@ use PHPMentors\ProxyURLRewriteBundle\ProxyUrl\ProxyUrlMatcher; use Symfony\Component\HttpKernel\Event\GetResponseEvent; +use Symfony\Component\HttpKernel\Event\RequestEvent; use Symfony\Component\HttpKernel\HttpKernelInterface; use Symfony\Component\Routing\RouterInterface; @@ -50,9 +51,9 @@ public function setRouter(RouterInterface $router) } /** - * @param GetResponseEvent $event + * @param RequestEvent $event */ - public function onKernelRequest(GetResponseEvent $event) + public function onKernelRequest(RequestEvent $event) { if ($event->getRequestType() == HttpKernelInterface::MASTER_REQUEST) { $matchedProxyUrl = $this->proxyUrlMatcher->match($this->router->getContext()->getPathInfo());