From 4ba6763126ccf428c2959b553ad69e9e88663563 Mon Sep 17 00:00:00 2001 From: PJ Dietz Date: Sun, 24 May 2015 13:53:56 -0400 Subject: [PATCH] URI Templates with slash prefix explosions do not match reserved characters --- src/Routing/Route/TemplateRoute.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Routing/Route/TemplateRoute.php b/src/Routing/Route/TemplateRoute.php index 8361532..ea0019a 100644 --- a/src/Routing/Route/TemplateRoute.php +++ b/src/Routing/Route/TemplateRoute.php @@ -138,6 +138,7 @@ class TemplateRoute extends Route break; case "/": $name = substr($name, 1); + $pattern = '[0-9a-zA-Z\-._\~%,\/]*'; // Unreserved + "," and "/" $prefix = "\\/"; $delimiter = "\\/"; $explodeDelimiter = "/"; @@ -147,7 +148,9 @@ class TemplateRoute extends Route // Explosion if (substr($name, -1, 1) === "*") { $name = substr($name, 0, -1); - $pattern = ".*"; + if ($pattern === self::RE_UNRESERVED) { + $pattern = '[0-9a-zA-Z\-._\~%,]*'; // Unreserved + "," + } $this->explosions[$name] = $explodeDelimiter; }