From da219d0b19e17dfe5ef256a69ef8f0517e8e664b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Sessing=C3=B8?= Date: Thu, 29 Mar 2018 23:13:56 +0200 Subject: [PATCH] Bugfixes - Fixed rewrite from ExceptionHandler sometimes not working correctly. - Fixed default-namespace for Group and partial groups. --- src/Pecee/SimpleRouter/Router.php | 5 +++++ src/Pecee/SimpleRouter/SimpleRouter.php | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/src/Pecee/SimpleRouter/Router.php b/src/Pecee/SimpleRouter/Router.php index 05d9908..28ad270 100644 --- a/src/Pecee/SimpleRouter/Router.php +++ b/src/Pecee/SimpleRouter/Router.php @@ -510,6 +510,7 @@ class Router $this->debug('Finished rendering exception-handler'); if (isset($this->loadedExceptionHandlers[$key]) === false && $this->request->hasPendingRewrite() === true) { + $this->loadedExceptionHandlers[$key] = $handler; $this->debug('Exception handler contains rewrite, reloading routes'); @@ -519,6 +520,10 @@ class Router 'rewriteRoute' => $this->request->getRewriteRoute(), ]); + if ($this->request->getRewriteRoute() !== null) { + $this->processedRoutes[] = $this->request->getRewriteRoute(); + } + return $this->routeRequest(); } diff --git a/src/Pecee/SimpleRouter/SimpleRouter.php b/src/Pecee/SimpleRouter/SimpleRouter.php index 3209812..2e4436a 100644 --- a/src/Pecee/SimpleRouter/SimpleRouter.php +++ b/src/Pecee/SimpleRouter/SimpleRouter.php @@ -256,6 +256,7 @@ class SimpleRouter $group = new RouteGroup(); $group->setCallback($callback); $group->setSettings($settings); + $group = static::addDefaultNamespace($group); static::router()->addRoute($group); @@ -283,6 +284,7 @@ class SimpleRouter $group = new RoutePartialGroup(); $group->setSettings($settings); $group->setCallback($callback); + $group = static::addDefaultNamespace($group); static::router()->addRoute($group); @@ -511,6 +513,12 @@ class SimpleRouter { if (static::$defaultNamespace !== null) { + if ($route instanceof IGroupRoute) { + $route->setNamespace(static::$defaultNamespace . '\\' . ltrim($route->getNamespace(), '\\')); + + return $route; + } + $callback = $route->getCallback(); /* Only add default namespace on relative callbacks */