use Symfony\Component\Routing\RequestContext;
/**
- * ProjectUrlMatcher.
- *
* This class has been auto-generated
* by the Symfony Routing Component.
*/
class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher
{
- /**
- * Constructor.
- */
public function __construct(RequestContext $context)
{
$this->context = $context;
}
- public function match($pathinfo)
+ public function match($rawPathinfo)
{
$allow = array();
- $pathinfo = rawurldecode($pathinfo);
+ $pathinfo = rawurldecode($rawPathinfo);
+ $trimmedPathinfo = rtrim($pathinfo, '/');
$context = $this->context;
- $request = $this->request;
+ $request = $this->request ?: $this->createRequest($pathinfo);
+ $requestMethod = $canonicalMethod = $context->getMethod();
+
+ if ('HEAD' === $requestMethod) {
+ $canonicalMethod = 'GET';
+ }
if (0 === strpos($pathinfo, '/rootprefix')) {
// static
- if ($pathinfo === '/rootprefix/test') {
+ if ('/rootprefix/test' === $pathinfo) {
return array('_route' => 'static');
}
// dynamic
- if (preg_match('#^/rootprefix/(?P<var>[^/]++)$#s', $pathinfo, $matches)) {
+ if (preg_match('#^/rootprefix/(?P<var>[^/]++)$#sD', $pathinfo, $matches)) {
return $this->mergeDefaults(array_replace($matches, array('_route' => 'dynamic')), array ());
}
}
// with-condition
- if ($pathinfo === '/with-condition' && ($context->getMethod() == "GET")) {
+ 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();
}
}