diff options
author | marvin-borner@live.com | 2018-04-10 21:50:16 +0200 |
---|---|---|
committer | marvin-borner@live.com | 2018-04-10 21:54:48 +0200 |
commit | fc9401f04a3aca5abb22f87ebc210de8afe11d32 (patch) | |
tree | b0b310f3581764ec3955f4e496a05137a32951c3 /assets/php/vendor/symfony/routing/Tests/Fixtures/dumper | |
parent | 286d643180672f20526f3dc3bd19d7b751e2fa97 (diff) |
Initial Commit
Diffstat (limited to 'assets/php/vendor/symfony/routing/Tests/Fixtures/dumper')
8 files changed, 1573 insertions, 0 deletions
diff --git a/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher0.php b/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher0.php new file mode 100644 index 0000000..9e9b910 --- /dev/null +++ b/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher0.php @@ -0,0 +1,37 @@ +<?php + +use Symfony\Component\Routing\Exception\MethodNotAllowedException; +use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\RequestContext; + +/** + * This class has been auto-generated + * by the Symfony Routing Component. + */ +class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher +{ + public function __construct(RequestContext $context) + { + $this->context = $context; + } + + public function match($rawPathinfo) + { + $allow = array(); + $pathinfo = rawurldecode($rawPathinfo); + $trimmedPathinfo = rtrim($pathinfo, '/'); + $context = $this->context; + $request = $this->request ?: $this->createRequest($pathinfo); + $requestMethod = $canonicalMethod = $context->getMethod(); + + if ('HEAD' === $requestMethod) { + $canonicalMethod = 'GET'; + } + + if ('/' === $pathinfo && !$allow) { + throw new Symfony\Component\Routing\Exception\NoConfigurationException(); + } + + throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException(); + } +} diff --git a/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.php b/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.php new file mode 100644 index 0000000..23a93c1 --- /dev/null +++ b/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.php @@ -0,0 +1,318 @@ +<?php + +use Symfony\Component\Routing\Exception\MethodNotAllowedException; +use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\RequestContext; + +/** + * This class has been auto-generated + * by the Symfony Routing Component. + */ +class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher +{ + public function __construct(RequestContext $context) + { + $this->context = $context; + } + + public function match($rawPathinfo) + { + $allow = array(); + $pathinfo = rawurldecode($rawPathinfo); + $trimmedPathinfo = rtrim($pathinfo, '/'); + $context = $this->context; + $request = $this->request ?: $this->createRequest($pathinfo); + $requestMethod = $canonicalMethod = $context->getMethod(); + + if ('HEAD' === $requestMethod) { + $canonicalMethod = 'GET'; + } + + if (0 === strpos($pathinfo, '/foo')) { + // foo + if (preg_match('#^/foo/(?P<bar>baz|symfony)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo')), array ( 'def' => 'test',)); + } + + // foofoo + if ('/foofoo' === $pathinfo) { + return array ( 'def' => 'test', '_route' => 'foofoo',); + } + + } + + elseif (0 === strpos($pathinfo, '/bar')) { + // bar + if (preg_match('#^/bar/(?P<foo>[^/]++)$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'bar')), array ()); + if (!in_array($canonicalMethod, array('GET', 'HEAD'))) { + $allow = array_merge($allow, array('GET', 'HEAD')); + goto not_bar; + } + + return $ret; + } + not_bar: + + // barhead + if (0 === strpos($pathinfo, '/barhead') && preg_match('#^/barhead/(?P<foo>[^/]++)$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'barhead')), array ()); + if (!in_array($canonicalMethod, array('GET'))) { + $allow = array_merge($allow, array('GET')); + goto not_barhead; + } + + return $ret; + } + not_barhead: + + } + + elseif (0 === strpos($pathinfo, '/test')) { + if (0 === strpos($pathinfo, '/test/baz')) { + // baz + if ('/test/baz' === $pathinfo) { + return array('_route' => 'baz'); + } + + // baz2 + if ('/test/baz.html' === $pathinfo) { + return array('_route' => 'baz2'); + } + + // baz3 + if ('/test/baz3/' === $pathinfo) { + return array('_route' => 'baz3'); + } + + } + + // baz4 + if (preg_match('#^/test/(?P<foo>[^/]++)/$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'baz4')), array ()); + } + + // baz5 + if (preg_match('#^/test/(?P<foo>[^/]++)/$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'baz5')), array ()); + if (!in_array($requestMethod, array('POST'))) { + $allow = array_merge($allow, array('POST')); + goto not_baz5; + } + + return $ret; + } + not_baz5: + + // baz.baz6 + if (preg_match('#^/test/(?P<foo>[^/]++)/$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'baz.baz6')), array ()); + if (!in_array($requestMethod, array('PUT'))) { + $allow = array_merge($allow, array('PUT')); + goto not_bazbaz6; + } + + return $ret; + } + not_bazbaz6: + + } + + // quoter + if (preg_match('#^/(?P<quoter>[\']+)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'quoter')), array ()); + } + + // space + if ('/spa ce' === $pathinfo) { + return array('_route' => 'space'); + } + + if (0 === strpos($pathinfo, '/a')) { + if (0 === strpos($pathinfo, '/a/b\'b')) { + // foo1 + if (preg_match('#^/a/b\'b/(?P<foo>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo1')), array ()); + } + + // bar1 + if (preg_match('#^/a/b\'b/(?P<bar>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar1')), array ()); + } + + } + + // overridden + if (preg_match('#^/a/(?P<var>.*)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'overridden')), array ()); + } + + if (0 === strpos($pathinfo, '/a/b\'b')) { + // foo2 + if (preg_match('#^/a/b\'b/(?P<foo1>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo2')), array ()); + } + + // bar2 + if (preg_match('#^/a/b\'b/(?P<bar1>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar2')), array ()); + } + + } + + } + + elseif (0 === strpos($pathinfo, '/multi')) { + // helloWorld + if (0 === strpos($pathinfo, '/multi/hello') && preg_match('#^/multi/hello(?:/(?P<who>[^/]++))?$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'helloWorld')), array ( 'who' => 'World!',)); + } + + // hey + if ('/multi/hey/' === $pathinfo) { + return array('_route' => 'hey'); + } + + // overridden2 + if ('/multi/new' === $pathinfo) { + return array('_route' => 'overridden2'); + } + + } + + // foo3 + if (preg_match('#^/(?P<_locale>[^/]++)/b/(?P<foo>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo3')), array ()); + } + + // bar3 + if (preg_match('#^/(?P<_locale>[^/]++)/b/(?P<bar>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar3')), array ()); + } + + if (0 === strpos($pathinfo, '/aba')) { + // ababa + if ('/ababa' === $pathinfo) { + return array('_route' => 'ababa'); + } + + // foo4 + if (preg_match('#^/aba/(?P<foo>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo4')), array ()); + } + + } + + $host = $context->getHost(); + + if (preg_match('#^a\\.example\\.com$#sDi', $host, $hostMatches)) { + // route1 + if ('/route1' === $pathinfo) { + return array('_route' => 'route1'); + } + + // route2 + if ('/c2/route2' === $pathinfo) { + return array('_route' => 'route2'); + } + + } + + if (preg_match('#^b\\.example\\.com$#sDi', $host, $hostMatches)) { + // route3 + if ('/c2/route3' === $pathinfo) { + return array('_route' => 'route3'); + } + + } + + if (preg_match('#^a\\.example\\.com$#sDi', $host, $hostMatches)) { + // route4 + if ('/route4' === $pathinfo) { + return array('_route' => 'route4'); + } + + } + + if (preg_match('#^c\\.example\\.com$#sDi', $host, $hostMatches)) { + // route5 + if ('/route5' === $pathinfo) { + return array('_route' => 'route5'); + } + + } + + // route6 + if ('/route6' === $pathinfo) { + return array('_route' => 'route6'); + } + + if (preg_match('#^(?P<var1>[^\\.]++)\\.example\\.com$#sDi', $host, $hostMatches)) { + if (0 === strpos($pathinfo, '/route1')) { + // route11 + if ('/route11' === $pathinfo) { + return $this->mergeDefaults(array_replace($hostMatches, array('_route' => 'route11')), array ()); + } + + // route12 + if ('/route12' === $pathinfo) { + return $this->mergeDefaults(array_replace($hostMatches, array('_route' => 'route12')), array ( 'var1' => 'val',)); + } + + // route13 + if (0 === strpos($pathinfo, '/route13') && preg_match('#^/route13/(?P<name>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($hostMatches, $matches, array('_route' => 'route13')), array ()); + } + + // route14 + if (0 === strpos($pathinfo, '/route14') && preg_match('#^/route14/(?P<name>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($hostMatches, $matches, array('_route' => 'route14')), array ( 'var1' => 'val',)); + } + + } + + } + + if (preg_match('#^c\\.example\\.com$#sDi', $host, $hostMatches)) { + // route15 + if (0 === strpos($pathinfo, '/route15') && preg_match('#^/route15/(?P<name>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'route15')), array ()); + } + + } + + // route16 + if (0 === strpos($pathinfo, '/route16') && preg_match('#^/route16/(?P<name>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'route16')), array ( 'var1' => 'val',)); + } + + // route17 + if ('/route17' === $pathinfo) { + return array('_route' => 'route17'); + } + + // a + if ('/a/a...' === $pathinfo) { + return array('_route' => 'a'); + } + + if (0 === strpos($pathinfo, '/a/b')) { + // b + if (preg_match('#^/a/b/(?P<var>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'b')), array ()); + } + + // c + if (0 === strpos($pathinfo, '/a/b/c') && preg_match('#^/a/b/c/(?P<var>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'c')), array ()); + } + + } + + if ('/' === $pathinfo && !$allow) { + throw new Symfony\Component\Routing\Exception\NoConfigurationException(); + } + + throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException(); + } +} diff --git a/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.php b/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.php new file mode 100644 index 0000000..e430adb --- /dev/null +++ b/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.php @@ -0,0 +1,380 @@ +<?php + +use Symfony\Component\Routing\Exception\MethodNotAllowedException; +use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\RequestContext; + +/** + * This class has been auto-generated + * by the Symfony Routing Component. + */ +class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\RedirectableUrlMatcher +{ + public function __construct(RequestContext $context) + { + $this->context = $context; + } + + public function match($rawPathinfo) + { + $allow = array(); + $pathinfo = rawurldecode($rawPathinfo); + $trimmedPathinfo = rtrim($pathinfo, '/'); + $context = $this->context; + $request = $this->request ?: $this->createRequest($pathinfo); + $requestMethod = $canonicalMethod = $context->getMethod(); + + if ('HEAD' === $requestMethod) { + $canonicalMethod = 'GET'; + } + + if (0 === strpos($pathinfo, '/foo')) { + // foo + if (preg_match('#^/foo/(?P<bar>baz|symfony)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo')), array ( 'def' => 'test',)); + } + + // foofoo + if ('/foofoo' === $pathinfo) { + return array ( 'def' => 'test', '_route' => 'foofoo',); + } + + } + + elseif (0 === strpos($pathinfo, '/bar')) { + // bar + if (preg_match('#^/bar/(?P<foo>[^/]++)$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'bar')), array ()); + if (!in_array($canonicalMethod, array('GET', 'HEAD'))) { + $allow = array_merge($allow, array('GET', 'HEAD')); + goto not_bar; + } + + return $ret; + } + not_bar: + + // barhead + if (0 === strpos($pathinfo, '/barhead') && preg_match('#^/barhead/(?P<foo>[^/]++)$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'barhead')), array ()); + if (!in_array($canonicalMethod, array('GET'))) { + $allow = array_merge($allow, array('GET')); + goto not_barhead; + } + + return $ret; + } + not_barhead: + + } + + elseif (0 === strpos($pathinfo, '/test')) { + if (0 === strpos($pathinfo, '/test/baz')) { + // baz + if ('/test/baz' === $pathinfo) { + return array('_route' => 'baz'); + } + + // baz2 + if ('/test/baz.html' === $pathinfo) { + return array('_route' => 'baz2'); + } + + // baz3 + if ('/test/baz3' === $trimmedPathinfo) { + $ret = array('_route' => 'baz3'); + if ('/' === substr($pathinfo, -1)) { + // no-op + } elseif ('GET' !== $canonicalMethod) { + goto not_baz3; + } else { + return array_replace($ret, $this->redirect($rawPathinfo.'/', 'baz3')); + } + + return $ret; + } + not_baz3: + + } + + // baz4 + if (preg_match('#^/test/(?P<foo>[^/]++)/?$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'baz4')), array ()); + if ('/' === substr($pathinfo, -1)) { + // no-op + } elseif ('GET' !== $canonicalMethod) { + goto not_baz4; + } else { + return array_replace($ret, $this->redirect($rawPathinfo.'/', 'baz4')); + } + + return $ret; + } + not_baz4: + + // baz5 + if (preg_match('#^/test/(?P<foo>[^/]++)/$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'baz5')), array ()); + if (!in_array($requestMethod, array('POST'))) { + $allow = array_merge($allow, array('POST')); + goto not_baz5; + } + + return $ret; + } + not_baz5: + + // baz.baz6 + if (preg_match('#^/test/(?P<foo>[^/]++)/$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'baz.baz6')), array ()); + if (!in_array($requestMethod, array('PUT'))) { + $allow = array_merge($allow, array('PUT')); + goto not_bazbaz6; + } + + return $ret; + } + not_bazbaz6: + + } + + // quoter + if (preg_match('#^/(?P<quoter>[\']+)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'quoter')), array ()); + } + + // space + if ('/spa ce' === $pathinfo) { + return array('_route' => 'space'); + } + + if (0 === strpos($pathinfo, '/a')) { + if (0 === strpos($pathinfo, '/a/b\'b')) { + // foo1 + if (preg_match('#^/a/b\'b/(?P<foo>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo1')), array ()); + } + + // bar1 + if (preg_match('#^/a/b\'b/(?P<bar>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar1')), array ()); + } + + } + + // overridden + if (preg_match('#^/a/(?P<var>.*)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'overridden')), array ()); + } + + if (0 === strpos($pathinfo, '/a/b\'b')) { + // foo2 + if (preg_match('#^/a/b\'b/(?P<foo1>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo2')), array ()); + } + + // bar2 + if (preg_match('#^/a/b\'b/(?P<bar1>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar2')), array ()); + } + + } + + } + + elseif (0 === strpos($pathinfo, '/multi')) { + // helloWorld + if (0 === strpos($pathinfo, '/multi/hello') && preg_match('#^/multi/hello(?:/(?P<who>[^/]++))?$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'helloWorld')), array ( 'who' => 'World!',)); + } + + // hey + if ('/multi/hey' === $trimmedPathinfo) { + $ret = array('_route' => 'hey'); + if ('/' === substr($pathinfo, -1)) { + // no-op + } elseif ('GET' !== $canonicalMethod) { + goto not_hey; + } else { + return array_replace($ret, $this->redirect($rawPathinfo.'/', 'hey')); + } + + return $ret; + } + not_hey: + + // overridden2 + if ('/multi/new' === $pathinfo) { + return array('_route' => 'overridden2'); + } + + } + + // foo3 + if (preg_match('#^/(?P<_locale>[^/]++)/b/(?P<foo>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo3')), array ()); + } + + // bar3 + if (preg_match('#^/(?P<_locale>[^/]++)/b/(?P<bar>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar3')), array ()); + } + + if (0 === strpos($pathinfo, '/aba')) { + // ababa + if ('/ababa' === $pathinfo) { + return array('_route' => 'ababa'); + } + + // foo4 + if (preg_match('#^/aba/(?P<foo>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo4')), array ()); + } + + } + + $host = $context->getHost(); + + if (preg_match('#^a\\.example\\.com$#sDi', $host, $hostMatches)) { + // route1 + if ('/route1' === $pathinfo) { + return array('_route' => 'route1'); + } + + // route2 + if ('/c2/route2' === $pathinfo) { + return array('_route' => 'route2'); + } + + } + + if (preg_match('#^b\\.example\\.com$#sDi', $host, $hostMatches)) { + // route3 + if ('/c2/route3' === $pathinfo) { + return array('_route' => 'route3'); + } + + } + + if (preg_match('#^a\\.example\\.com$#sDi', $host, $hostMatches)) { + // route4 + if ('/route4' === $pathinfo) { + return array('_route' => 'route4'); + } + + } + + if (preg_match('#^c\\.example\\.com$#sDi', $host, $hostMatches)) { + // route5 + if ('/route5' === $pathinfo) { + return array('_route' => 'route5'); + } + + } + + // route6 + if ('/route6' === $pathinfo) { + return array('_route' => 'route6'); + } + + if (preg_match('#^(?P<var1>[^\\.]++)\\.example\\.com$#sDi', $host, $hostMatches)) { + if (0 === strpos($pathinfo, '/route1')) { + // route11 + if ('/route11' === $pathinfo) { + return $this->mergeDefaults(array_replace($hostMatches, array('_route' => 'route11')), array ()); + } + + // route12 + if ('/route12' === $pathinfo) { + return $this->mergeDefaults(array_replace($hostMatches, array('_route' => 'route12')), array ( 'var1' => 'val',)); + } + + // route13 + if (0 === strpos($pathinfo, '/route13') && preg_match('#^/route13/(?P<name>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($hostMatches, $matches, array('_route' => 'route13')), array ()); + } + + // route14 + if (0 === strpos($pathinfo, '/route14') && preg_match('#^/route14/(?P<name>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($hostMatches, $matches, array('_route' => 'route14')), array ( 'var1' => 'val',)); + } + + } + + } + + if (preg_match('#^c\\.example\\.com$#sDi', $host, $hostMatches)) { + // route15 + if (0 === strpos($pathinfo, '/route15') && preg_match('#^/route15/(?P<name>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'route15')), array ()); + } + + } + + // route16 + if (0 === strpos($pathinfo, '/route16') && preg_match('#^/route16/(?P<name>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'route16')), array ( 'var1' => 'val',)); + } + + // route17 + if ('/route17' === $pathinfo) { + return array('_route' => 'route17'); + } + + // a + if ('/a/a...' === $pathinfo) { + return array('_route' => 'a'); + } + + if (0 === strpos($pathinfo, '/a/b')) { + // b + if (preg_match('#^/a/b/(?P<var>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'b')), array ()); + } + + // c + if (0 === strpos($pathinfo, '/a/b/c') && preg_match('#^/a/b/c/(?P<var>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'c')), array ()); + } + + } + + // secure + if ('/secure' === $pathinfo) { + $ret = array('_route' => 'secure'); + $requiredSchemes = array ( 'https' => 0,); + if (!isset($requiredSchemes[$context->getScheme()])) { + if ('GET' !== $canonicalMethod) { + goto not_secure; + } + + return array_replace($ret, $this->redirect($rawPathinfo, 'secure', key($requiredSchemes))); + } + + return $ret; + } + not_secure: + + // nonsecure + if ('/nonsecure' === $pathinfo) { + $ret = array('_route' => 'nonsecure'); + $requiredSchemes = array ( 'http' => 0,); + if (!isset($requiredSchemes[$context->getScheme()])) { + if ('GET' !== $canonicalMethod) { + goto not_nonsecure; + } + + return array_replace($ret, $this->redirect($rawPathinfo, 'nonsecure', key($requiredSchemes))); + } + + return $ret; + } + not_nonsecure: + + if ('/' === $pathinfo && !$allow) { + throw new Symfony\Component\Routing\Exception\NoConfigurationException(); + } + + throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException(); + } +} diff --git a/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher3.php b/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher3.php new file mode 100644 index 0000000..67c4667 --- /dev/null +++ b/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher3.php @@ -0,0 +1,55 @@ +<?php + +use Symfony\Component\Routing\Exception\MethodNotAllowedException; +use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\RequestContext; + +/** + * This class has been auto-generated + * by the Symfony Routing Component. + */ +class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher +{ + public function __construct(RequestContext $context) + { + $this->context = $context; + } + + public function match($rawPathinfo) + { + $allow = array(); + $pathinfo = rawurldecode($rawPathinfo); + $trimmedPathinfo = rtrim($pathinfo, '/'); + $context = $this->context; + $request = $this->request ?: $this->createRequest($pathinfo); + $requestMethod = $canonicalMethod = $context->getMethod(); + + if ('HEAD' === $requestMethod) { + $canonicalMethod = 'GET'; + } + + if (0 === strpos($pathinfo, '/rootprefix')) { + // static + if ('/rootprefix/test' === $pathinfo) { + return array('_route' => 'static'); + } + + // dynamic + if (preg_match('#^/rootprefix/(?P<var>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'dynamic')), array ()); + } + + } + + // with-condition + if ('/with-condition' === $pathinfo && ($context->getMethod() == "GET")) { + return array('_route' => 'with-condition'); + } + + if ('/' === $pathinfo && !$allow) { + throw new Symfony\Component\Routing\Exception\NoConfigurationException(); + } + + throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException(); + } +} diff --git a/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher4.php b/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher4.php new file mode 100644 index 0000000..ed07194 --- /dev/null +++ b/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher4.php @@ -0,0 +1,112 @@ +<?php + +use Symfony\Component\Routing\Exception\MethodNotAllowedException; +use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\RequestContext; + +/** + * This class has been auto-generated + * by the Symfony Routing Component. + */ +class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher +{ + public function __construct(RequestContext $context) + { + $this->context = $context; + } + + public function match($rawPathinfo) + { + $allow = array(); + $pathinfo = rawurldecode($rawPathinfo); + $trimmedPathinfo = rtrim($pathinfo, '/'); + $context = $this->context; + $request = $this->request ?: $this->createRequest($pathinfo); + $requestMethod = $canonicalMethod = $context->getMethod(); + + if ('HEAD' === $requestMethod) { + $canonicalMethod = 'GET'; + } + + // just_head + if ('/just_head' === $pathinfo) { + $ret = array('_route' => 'just_head'); + if (!in_array($requestMethod, array('HEAD'))) { + $allow = array_merge($allow, array('HEAD')); + goto not_just_head; + } + + return $ret; + } + not_just_head: + + // head_and_get + if ('/head_and_get' === $pathinfo) { + $ret = array('_route' => 'head_and_get'); + if (!in_array($canonicalMethod, array('HEAD', 'GET'))) { + $allow = array_merge($allow, array('HEAD', 'GET')); + goto not_head_and_get; + } + + return $ret; + } + not_head_and_get: + + // get_and_head + if ('/get_and_head' === $pathinfo) { + $ret = array('_route' => 'get_and_head'); + if (!in_array($canonicalMethod, array('GET', 'HEAD'))) { + $allow = array_merge($allow, array('GET', 'HEAD')); + goto not_get_and_head; + } + + return $ret; + } + not_get_and_head: + + // post_and_head + if ('/post_and_head' === $pathinfo) { + $ret = array('_route' => 'post_and_head'); + if (!in_array($requestMethod, array('POST', 'HEAD'))) { + $allow = array_merge($allow, array('POST', 'HEAD')); + goto not_post_and_head; + } + + return $ret; + } + not_post_and_head: + + if (0 === strpos($pathinfo, '/put_and_post')) { + // put_and_post + if ('/put_and_post' === $pathinfo) { + $ret = array('_route' => 'put_and_post'); + if (!in_array($requestMethod, array('PUT', 'POST'))) { + $allow = array_merge($allow, array('PUT', 'POST')); + goto not_put_and_post; + } + + return $ret; + } + not_put_and_post: + + // put_and_get_and_head + if ('/put_and_post' === $pathinfo) { + $ret = array('_route' => 'put_and_get_and_head'); + if (!in_array($canonicalMethod, array('PUT', 'GET', 'HEAD'))) { + $allow = array_merge($allow, array('PUT', 'GET', 'HEAD')); + goto not_put_and_get_and_head; + } + + return $ret; + } + not_put_and_get_and_head: + + } + + if ('/' === $pathinfo && !$allow) { + throw new Symfony\Component\Routing\Exception\NoConfigurationException(); + } + + throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException(); + } +} diff --git a/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher5.php b/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher5.php new file mode 100644 index 0000000..2b22513 --- /dev/null +++ b/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher5.php @@ -0,0 +1,209 @@ +<?php + +use Symfony\Component\Routing\Exception\MethodNotAllowedException; +use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\RequestContext; + +/** + * This class has been auto-generated + * by the Symfony Routing Component. + */ +class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\RedirectableUrlMatcher +{ + public function __construct(RequestContext $context) + { + $this->context = $context; + } + + public function match($rawPathinfo) + { + $allow = array(); + $pathinfo = rawurldecode($rawPathinfo); + $trimmedPathinfo = rtrim($pathinfo, '/'); + $context = $this->context; + $request = $this->request ?: $this->createRequest($pathinfo); + $requestMethod = $canonicalMethod = $context->getMethod(); + + if ('HEAD' === $requestMethod) { + $canonicalMethod = 'GET'; + } + + if (0 === strpos($pathinfo, '/a')) { + // a_first + if ('/a/11' === $pathinfo) { + return array('_route' => 'a_first'); + } + + // a_second + if ('/a/22' === $pathinfo) { + return array('_route' => 'a_second'); + } + + // a_third + if ('/a/333' === $pathinfo) { + return array('_route' => 'a_third'); + } + + } + + // a_wildcard + if (preg_match('#^/(?P<param>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'a_wildcard')), array ()); + } + + if (0 === strpos($pathinfo, '/a')) { + // a_fourth + if ('/a/44' === $trimmedPathinfo) { + $ret = array('_route' => 'a_fourth'); + if ('/' === substr($pathinfo, -1)) { + // no-op + } elseif ('GET' !== $canonicalMethod) { + goto not_a_fourth; + } else { + return array_replace($ret, $this->redirect($rawPathinfo.'/', 'a_fourth')); + } + + return $ret; + } + not_a_fourth: + + // a_fifth + if ('/a/55' === $trimmedPathinfo) { + $ret = array('_route' => 'a_fifth'); + if ('/' === substr($pathinfo, -1)) { + // no-op + } elseif ('GET' !== $canonicalMethod) { + goto not_a_fifth; + } else { + return array_replace($ret, $this->redirect($rawPathinfo.'/', 'a_fifth')); + } + + return $ret; + } + not_a_fifth: + + // a_sixth + if ('/a/66' === $trimmedPathinfo) { + $ret = array('_route' => 'a_sixth'); + if ('/' === substr($pathinfo, -1)) { + // no-op + } elseif ('GET' !== $canonicalMethod) { + goto not_a_sixth; + } else { + return array_replace($ret, $this->redirect($rawPathinfo.'/', 'a_sixth')); + } + + return $ret; + } + not_a_sixth: + + } + + // nested_wildcard + if (0 === strpos($pathinfo, '/nested') && preg_match('#^/nested/(?P<param>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'nested_wildcard')), array ()); + } + + if (0 === strpos($pathinfo, '/nested/group')) { + // nested_a + if ('/nested/group/a' === $trimmedPathinfo) { + $ret = array('_route' => 'nested_a'); + if ('/' === substr($pathinfo, -1)) { + // no-op + } elseif ('GET' !== $canonicalMethod) { + goto not_nested_a; + } else { + return array_replace($ret, $this->redirect($rawPathinfo.'/', 'nested_a')); + } + + return $ret; + } + not_nested_a: + + // nested_b + if ('/nested/group/b' === $trimmedPathinfo) { + $ret = array('_route' => 'nested_b'); + if ('/' === substr($pathinfo, -1)) { + // no-op + } elseif ('GET' !== $canonicalMethod) { + goto not_nested_b; + } else { + return array_replace($ret, $this->redirect($rawPathinfo.'/', 'nested_b')); + } + + return $ret; + } + not_nested_b: + + // nested_c + if ('/nested/group/c' === $trimmedPathinfo) { + $ret = array('_route' => 'nested_c'); + if ('/' === substr($pathinfo, -1)) { + // no-op + } elseif ('GET' !== $canonicalMethod) { + goto not_nested_c; + } else { + return array_replace($ret, $this->redirect($rawPathinfo.'/', 'nested_c')); + } + + return $ret; + } + not_nested_c: + + } + + elseif (0 === strpos($pathinfo, '/slashed/group')) { + // slashed_a + if ('/slashed/group' === $trimmedPathinfo) { + $ret = array('_route' => 'slashed_a'); + if ('/' === substr($pathinfo, -1)) { + // no-op + } elseif ('GET' !== $canonicalMethod) { + goto not_slashed_a; + } else { + return array_replace($ret, $this->redirect($rawPathinfo.'/', 'slashed_a')); + } + + return $ret; + } + not_slashed_a: + + // slashed_b + if ('/slashed/group/b' === $trimmedPathinfo) { + $ret = array('_route' => 'slashed_b'); + if ('/' === substr($pathinfo, -1)) { + // no-op + } elseif ('GET' !== $canonicalMethod) { + goto not_slashed_b; + } else { + return array_replace($ret, $this->redirect($rawPathinfo.'/', 'slashed_b')); + } + + return $ret; + } + not_slashed_b: + + // slashed_c + if ('/slashed/group/c' === $trimmedPathinfo) { + $ret = array('_route' => 'slashed_c'); + if ('/' === substr($pathinfo, -1)) { + // no-op + } elseif ('GET' !== $canonicalMethod) { + goto not_slashed_c; + } else { + return array_replace($ret, $this->redirect($rawPathinfo.'/', 'slashed_c')); + } + + return $ret; + } + not_slashed_c: + + } + + if ('/' === $pathinfo && !$allow) { + throw new Symfony\Component\Routing\Exception\NoConfigurationException(); + } + + throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException(); + } +} diff --git a/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher6.php b/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher6.php new file mode 100644 index 0000000..48ecdf8 --- /dev/null +++ b/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher6.php @@ -0,0 +1,213 @@ +<?php + +use Symfony\Component\Routing\Exception\MethodNotAllowedException; +use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\RequestContext; + +/** + * This class has been auto-generated + * by the Symfony Routing Component. + */ +class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher +{ + public function __construct(RequestContext $context) + { + $this->context = $context; + } + + public function match($rawPathinfo) + { + $allow = array(); + $pathinfo = rawurldecode($rawPathinfo); + $trimmedPathinfo = rtrim($pathinfo, '/'); + $context = $this->context; + $request = $this->request ?: $this->createRequest($pathinfo); + $requestMethod = $canonicalMethod = $context->getMethod(); + + if ('HEAD' === $requestMethod) { + $canonicalMethod = 'GET'; + } + + if (0 === strpos($pathinfo, '/trailing/simple')) { + // simple_trailing_slash_no_methods + if ('/trailing/simple/no-methods/' === $pathinfo) { + return array('_route' => 'simple_trailing_slash_no_methods'); + } + + // simple_trailing_slash_GET_method + if ('/trailing/simple/get-method/' === $pathinfo) { + $ret = array('_route' => 'simple_trailing_slash_GET_method'); + if (!in_array($canonicalMethod, array('GET'))) { + $allow = array_merge($allow, array('GET')); + goto not_simple_trailing_slash_GET_method; + } + + return $ret; + } + not_simple_trailing_slash_GET_method: + + // simple_trailing_slash_HEAD_method + if ('/trailing/simple/head-method/' === $pathinfo) { + $ret = array('_route' => 'simple_trailing_slash_HEAD_method'); + if (!in_array($requestMethod, array('HEAD'))) { + $allow = array_merge($allow, array('HEAD')); + goto not_simple_trailing_slash_HEAD_method; + } + + return $ret; + } + not_simple_trailing_slash_HEAD_method: + + // simple_trailing_slash_POST_method + if ('/trailing/simple/post-method/' === $pathinfo) { + $ret = array('_route' => 'simple_trailing_slash_POST_method'); + if (!in_array($requestMethod, array('POST'))) { + $allow = array_merge($allow, array('POST')); + goto not_simple_trailing_slash_POST_method; + } + + return $ret; + } + not_simple_trailing_slash_POST_method: + + } + + elseif (0 === strpos($pathinfo, '/trailing/regex')) { + // regex_trailing_slash_no_methods + if (0 === strpos($pathinfo, '/trailing/regex/no-methods') && preg_match('#^/trailing/regex/no\\-methods/(?P<param>[^/]++)/$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_trailing_slash_no_methods')), array ()); + } + + // regex_trailing_slash_GET_method + if (0 === strpos($pathinfo, '/trailing/regex/get-method') && preg_match('#^/trailing/regex/get\\-method/(?P<param>[^/]++)/$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_trailing_slash_GET_method')), array ()); + if (!in_array($canonicalMethod, array('GET'))) { + $allow = array_merge($allow, array('GET')); + goto not_regex_trailing_slash_GET_method; + } + + return $ret; + } + not_regex_trailing_slash_GET_method: + + // regex_trailing_slash_HEAD_method + if (0 === strpos($pathinfo, '/trailing/regex/head-method') && preg_match('#^/trailing/regex/head\\-method/(?P<param>[^/]++)/$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_trailing_slash_HEAD_method')), array ()); + if (!in_array($requestMethod, array('HEAD'))) { + $allow = array_merge($allow, array('HEAD')); + goto not_regex_trailing_slash_HEAD_method; + } + + return $ret; + } + not_regex_trailing_slash_HEAD_method: + + // regex_trailing_slash_POST_method + if (0 === strpos($pathinfo, '/trailing/regex/post-method') && preg_match('#^/trailing/regex/post\\-method/(?P<param>[^/]++)/$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_trailing_slash_POST_method')), array ()); + if (!in_array($requestMethod, array('POST'))) { + $allow = array_merge($allow, array('POST')); + goto not_regex_trailing_slash_POST_method; + } + + return $ret; + } + not_regex_trailing_slash_POST_method: + + } + + elseif (0 === strpos($pathinfo, '/not-trailing/simple')) { + // simple_not_trailing_slash_no_methods + if ('/not-trailing/simple/no-methods' === $pathinfo) { + return array('_route' => 'simple_not_trailing_slash_no_methods'); + } + + // simple_not_trailing_slash_GET_method + if ('/not-trailing/simple/get-method' === $pathinfo) { + $ret = array('_route' => 'simple_not_trailing_slash_GET_method'); + if (!in_array($canonicalMethod, array('GET'))) { + $allow = array_merge($allow, array('GET')); + goto not_simple_not_trailing_slash_GET_method; + } + + return $ret; + } + not_simple_not_trailing_slash_GET_method: + + // simple_not_trailing_slash_HEAD_method + if ('/not-trailing/simple/head-method' === $pathinfo) { + $ret = array('_route' => 'simple_not_trailing_slash_HEAD_method'); + if (!in_array($requestMethod, array('HEAD'))) { + $allow = array_merge($allow, array('HEAD')); + goto not_simple_not_trailing_slash_HEAD_method; + } + + return $ret; + } + not_simple_not_trailing_slash_HEAD_method: + + // simple_not_trailing_slash_POST_method + if ('/not-trailing/simple/post-method' === $pathinfo) { + $ret = array('_route' => 'simple_not_trailing_slash_POST_method'); + if (!in_array($requestMethod, array('POST'))) { + $allow = array_merge($allow, array('POST')); + goto not_simple_not_trailing_slash_POST_method; + } + + return $ret; + } + not_simple_not_trailing_slash_POST_method: + + } + + elseif (0 === strpos($pathinfo, '/not-trailing/regex')) { + // regex_not_trailing_slash_no_methods + if (0 === strpos($pathinfo, '/not-trailing/regex/no-methods') && preg_match('#^/not\\-trailing/regex/no\\-methods/(?P<param>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_not_trailing_slash_no_methods')), array ()); + } + + // regex_not_trailing_slash_GET_method + if (0 === strpos($pathinfo, '/not-trailing/regex/get-method') && preg_match('#^/not\\-trailing/regex/get\\-method/(?P<param>[^/]++)$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_not_trailing_slash_GET_method')), array ()); + if (!in_array($canonicalMethod, array('GET'))) { + $allow = array_merge($allow, array('GET')); + goto not_regex_not_trailing_slash_GET_method; + } + + return $ret; + } + not_regex_not_trailing_slash_GET_method: + + // regex_not_trailing_slash_HEAD_method + if (0 === strpos($pathinfo, '/not-trailing/regex/head-method') && preg_match('#^/not\\-trailing/regex/head\\-method/(?P<param>[^/]++)$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_not_trailing_slash_HEAD_method')), array ()); + if (!in_array($requestMethod, array('HEAD'))) { + $allow = array_merge($allow, array('HEAD')); + goto not_regex_not_trailing_slash_HEAD_method; + } + + return $ret; + } + not_regex_not_trailing_slash_HEAD_method: + + // regex_not_trailing_slash_POST_method + if (0 === strpos($pathinfo, '/not-trailing/regex/post-method') && preg_match('#^/not\\-trailing/regex/post\\-method/(?P<param>[^/]++)$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_not_trailing_slash_POST_method')), array ()); + if (!in_array($requestMethod, array('POST'))) { + $allow = array_merge($allow, array('POST')); + goto not_regex_not_trailing_slash_POST_method; + } + + return $ret; + } + not_regex_not_trailing_slash_POST_method: + + } + + if ('/' === $pathinfo && !$allow) { + throw new Symfony\Component\Routing\Exception\NoConfigurationException(); + } + + throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException(); + } +} diff --git a/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher7.php b/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher7.php new file mode 100644 index 0000000..81d76ea --- /dev/null +++ b/assets/php/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher7.php @@ -0,0 +1,249 @@ +<?php + +use Symfony\Component\Routing\Exception\MethodNotAllowedException; +use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\RequestContext; + +/** + * This class has been auto-generated + * by the Symfony Routing Component. + */ +class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\RedirectableUrlMatcher +{ + public function __construct(RequestContext $context) + { + $this->context = $context; + } + + public function match($rawPathinfo) + { + $allow = array(); + $pathinfo = rawurldecode($rawPathinfo); + $trimmedPathinfo = rtrim($pathinfo, '/'); + $context = $this->context; + $request = $this->request ?: $this->createRequest($pathinfo); + $requestMethod = $canonicalMethod = $context->getMethod(); + + if ('HEAD' === $requestMethod) { + $canonicalMethod = 'GET'; + } + + if (0 === strpos($pathinfo, '/trailing/simple')) { + // simple_trailing_slash_no_methods + if ('/trailing/simple/no-methods' === $trimmedPathinfo) { + $ret = array('_route' => 'simple_trailing_slash_no_methods'); + if ('/' === substr($pathinfo, -1)) { + // no-op + } elseif ('GET' !== $canonicalMethod) { + goto not_simple_trailing_slash_no_methods; + } else { + return array_replace($ret, $this->redirect($rawPathinfo.'/', 'simple_trailing_slash_no_methods')); + } + + return $ret; + } + not_simple_trailing_slash_no_methods: + + // simple_trailing_slash_GET_method + if ('/trailing/simple/get-method' === $trimmedPathinfo) { + $ret = array('_route' => 'simple_trailing_slash_GET_method'); + if ('/' === substr($pathinfo, -1)) { + // no-op + } elseif ('GET' !== $canonicalMethod) { + goto not_simple_trailing_slash_GET_method; + } else { + return array_replace($ret, $this->redirect($rawPathinfo.'/', 'simple_trailing_slash_GET_method')); + } + + if (!in_array($canonicalMethod, array('GET'))) { + $allow = array_merge($allow, array('GET')); + goto not_simple_trailing_slash_GET_method; + } + + return $ret; + } + not_simple_trailing_slash_GET_method: + + // simple_trailing_slash_HEAD_method + if ('/trailing/simple/head-method/' === $pathinfo) { + $ret = array('_route' => 'simple_trailing_slash_HEAD_method'); + if (!in_array($requestMethod, array('HEAD'))) { + $allow = array_merge($allow, array('HEAD')); + goto not_simple_trailing_slash_HEAD_method; + } + + return $ret; + } + not_simple_trailing_slash_HEAD_method: + + // simple_trailing_slash_POST_method + if ('/trailing/simple/post-method/' === $pathinfo) { + $ret = array('_route' => 'simple_trailing_slash_POST_method'); + if (!in_array($requestMethod, array('POST'))) { + $allow = array_merge($allow, array('POST')); + goto not_simple_trailing_slash_POST_method; + } + + return $ret; + } + not_simple_trailing_slash_POST_method: + + } + + elseif (0 === strpos($pathinfo, '/trailing/regex')) { + // regex_trailing_slash_no_methods + if (0 === strpos($pathinfo, '/trailing/regex/no-methods') && preg_match('#^/trailing/regex/no\\-methods/(?P<param>[^/]++)/?$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_trailing_slash_no_methods')), array ()); + if ('/' === substr($pathinfo, -1)) { + // no-op + } elseif ('GET' !== $canonicalMethod) { + goto not_regex_trailing_slash_no_methods; + } else { + return array_replace($ret, $this->redirect($rawPathinfo.'/', 'regex_trailing_slash_no_methods')); + } + + return $ret; + } + not_regex_trailing_slash_no_methods: + + // regex_trailing_slash_GET_method + if (0 === strpos($pathinfo, '/trailing/regex/get-method') && preg_match('#^/trailing/regex/get\\-method/(?P<param>[^/]++)/?$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_trailing_slash_GET_method')), array ()); + if ('/' === substr($pathinfo, -1)) { + // no-op + } elseif ('GET' !== $canonicalMethod) { + goto not_regex_trailing_slash_GET_method; + } else { + return array_replace($ret, $this->redirect($rawPathinfo.'/', 'regex_trailing_slash_GET_method')); + } + + if (!in_array($canonicalMethod, array('GET'))) { + $allow = array_merge($allow, array('GET')); + goto not_regex_trailing_slash_GET_method; + } + + return $ret; + } + not_regex_trailing_slash_GET_method: + + // regex_trailing_slash_HEAD_method + if (0 === strpos($pathinfo, '/trailing/regex/head-method') && preg_match('#^/trailing/regex/head\\-method/(?P<param>[^/]++)/$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_trailing_slash_HEAD_method')), array ()); + if (!in_array($requestMethod, array('HEAD'))) { + $allow = array_merge($allow, array('HEAD')); + goto not_regex_trailing_slash_HEAD_method; + } + + return $ret; + } + not_regex_trailing_slash_HEAD_method: + + // regex_trailing_slash_POST_method + if (0 === strpos($pathinfo, '/trailing/regex/post-method') && preg_match('#^/trailing/regex/post\\-method/(?P<param>[^/]++)/$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_trailing_slash_POST_method')), array ()); + if (!in_array($requestMethod, array('POST'))) { + $allow = array_merge($allow, array('POST')); + goto not_regex_trailing_slash_POST_method; + } + + return $ret; + } + not_regex_trailing_slash_POST_method: + + } + + elseif (0 === strpos($pathinfo, '/not-trailing/simple')) { + // simple_not_trailing_slash_no_methods + if ('/not-trailing/simple/no-methods' === $pathinfo) { + return array('_route' => 'simple_not_trailing_slash_no_methods'); + } + + // simple_not_trailing_slash_GET_method + if ('/not-trailing/simple/get-method' === $pathinfo) { + $ret = array('_route' => 'simple_not_trailing_slash_GET_method'); + if (!in_array($canonicalMethod, array('GET'))) { + $allow = array_merge($allow, array('GET')); + goto not_simple_not_trailing_slash_GET_method; + } + + return $ret; + } + not_simple_not_trailing_slash_GET_method: + + // simple_not_trailing_slash_HEAD_method + if ('/not-trailing/simple/head-method' === $pathinfo) { + $ret = array('_route' => 'simple_not_trailing_slash_HEAD_method'); + if (!in_array($requestMethod, array('HEAD'))) { + $allow = array_merge($allow, array('HEAD')); + goto not_simple_not_trailing_slash_HEAD_method; + } + + return $ret; + } + not_simple_not_trailing_slash_HEAD_method: + + // simple_not_trailing_slash_POST_method + if ('/not-trailing/simple/post-method' === $pathinfo) { + $ret = array('_route' => 'simple_not_trailing_slash_POST_method'); + if (!in_array($requestMethod, array('POST'))) { + $allow = array_merge($allow, array('POST')); + goto not_simple_not_trailing_slash_POST_method; + } + + return $ret; + } + not_simple_not_trailing_slash_POST_method: + + } + + elseif (0 === strpos($pathinfo, '/not-trailing/regex')) { + // regex_not_trailing_slash_no_methods + if (0 === strpos($pathinfo, '/not-trailing/regex/no-methods') && preg_match('#^/not\\-trailing/regex/no\\-methods/(?P<param>[^/]++)$#sD', $pathinfo, $matches)) { + return $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_not_trailing_slash_no_methods')), array ()); + } + + // regex_not_trailing_slash_GET_method + if (0 === strpos($pathinfo, '/not-trailing/regex/get-method') && preg_match('#^/not\\-trailing/regex/get\\-method/(?P<param>[^/]++)$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_not_trailing_slash_GET_method')), array ()); + if (!in_array($canonicalMethod, array('GET'))) { + $allow = array_merge($allow, array('GET')); + goto not_regex_not_trailing_slash_GET_method; + } + + return $ret; + } + not_regex_not_trailing_slash_GET_method: + + // regex_not_trailing_slash_HEAD_method + if (0 === strpos($pathinfo, '/not-trailing/regex/head-method') && preg_match('#^/not\\-trailing/regex/head\\-method/(?P<param>[^/]++)$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_not_trailing_slash_HEAD_method')), array ()); + if (!in_array($requestMethod, array('HEAD'))) { + $allow = array_merge($allow, array('HEAD')); + goto not_regex_not_trailing_slash_HEAD_method; + } + + return $ret; + } + not_regex_not_trailing_slash_HEAD_method: + + // regex_not_trailing_slash_POST_method + if (0 === strpos($pathinfo, '/not-trailing/regex/post-method') && preg_match('#^/not\\-trailing/regex/post\\-method/(?P<param>[^/]++)$#sD', $pathinfo, $matches)) { + $ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_not_trailing_slash_POST_method')), array ()); + if (!in_array($requestMethod, array('POST'))) { + $allow = array_merge($allow, array('POST')); + goto not_regex_not_trailing_slash_POST_method; + } + + return $ret; + } + not_regex_not_trailing_slash_POST_method: + + } + + if ('/' === $pathinfo && !$allow) { + throw new Symfony\Component\Routing\Exception\NoConfigurationException(); + } + + throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException(); + } +} |