Development

- Using `$request->setRewriteRoute($route);` rewrite-callback now renders any added middlewares on the route.
- Rewrite callbacks now sets default-namespace on route, if defined.
This commit is contained in:
Simon Sessingø
2017-02-13 06:29:22 +01:00
parent ccd3cf450e
commit 79414255e0
3 changed files with 34 additions and 9 deletions
+15 -5
View File
@@ -3,8 +3,8 @@ namespace Pecee\Http;
use Pecee\Http\Input\Input;
use Pecee\SimpleRouter\Route\ILoadableRoute;
use Pecee\SimpleRouter\Route\IRoute;
use Pecee\SimpleRouter\Route\RouteUrl;
use Pecee\SimpleRouter\SimpleRouter;
class Request
{
@@ -237,13 +237,25 @@ class Request
{
$this->rewriteRoute = $route;
$namespace = SimpleRouter::getDefaultNamespace();
if ($namespace !== null) {
if ($this->rewriteRoute->getNamespace() !== null) {
$namespace .= '\\' . $this->rewriteRoute->getNamespace();
}
$this->rewriteRoute->setDefaultNamespace($namespace);
}
return $this;
}
/**
* Get rewrite route
*
* @return IRoute|null
* @return ILoadableRoute|null
*/
public function getRewriteRoute()
{
@@ -280,9 +292,7 @@ class Request
*/
public function setRewriteCallback($callback)
{
$this->rewriteRoute = new RouteUrl($this->uri, $callback);
return $this;
return $this->setRewriteRoute(new RouteUrl($this->uri, $callback));
}
/**