URI Templates with slash prefix explosions do not match reserved characters

This commit is contained in:
PJ Dietz 2015-05-24 13:53:56 -04:00
parent 41336d9387
commit 4ba6763126
1 changed files with 4 additions and 1 deletions

View File

@ -138,6 +138,7 @@ class TemplateRoute extends Route
break; break;
case "/": case "/":
$name = substr($name, 1); $name = substr($name, 1);
$pattern = '[0-9a-zA-Z\-._\~%,\/]*'; // Unreserved + "," and "/"
$prefix = "\\/"; $prefix = "\\/";
$delimiter = "\\/"; $delimiter = "\\/";
$explodeDelimiter = "/"; $explodeDelimiter = "/";
@ -147,7 +148,9 @@ class TemplateRoute extends Route
// Explosion // Explosion
if (substr($name, -1, 1) === "*") { if (substr($name, -1, 1) === "*") {
$name = substr($name, 0, -1); $name = substr($name, 0, -1);
$pattern = ".*"; if ($pattern === self::RE_UNRESERVED) {
$pattern = '[0-9a-zA-Z\-._\~%,]*'; // Unreserved + ","
}
$this->explosions[$name] = $explodeDelimiter; $this->explosions[$name] = $explodeDelimiter;
} }