[TASK] Added rewrite_uri parameter to Request class

This commit is contained in:
Simon Sessingø
2016-03-19 19:14:07 +01:00
parent 35bb58818e
commit 4d58fbf7b5
+8 -3
View File
@@ -27,7 +27,7 @@ class RouterBase {
$this->backStack = array(); $this->backStack = array();
$this->controllerUrlMap = array(); $this->controllerUrlMap = array();
$this->baseCsrfVerifier = new BaseCsrfVerifier(); $this->baseCsrfVerifier = new BaseCsrfVerifier();
$this->request = new Request(); $this->request = Request::getInstance();
$this->bootManagers = array(); $this->bootManagers = array();
$csrf = new CsrfToken(); $csrf = new CsrfToken();
@@ -88,7 +88,7 @@ class RouterBase {
$this->currentRoute = $route; $this->currentRoute = $route;
if($route instanceof RouterGroup && $route->matchRoute($this->request) && is_callable($route->getCallback())) { if($route instanceof RouterGroup && is_callable($route->getCallback())) {
$group = $route; $group = $route;
$route->renderRoute($this->request); $route->renderRoute($this->request);
$mergedSettings = array_merge($route->getMergeableSettings(), $settings); $mergedSettings = array_merge($route->getMergeableSettings(), $settings);
@@ -108,6 +108,8 @@ class RouterBase {
public function routeRequest() { public function routeRequest() {
$originalUri = $this->request->getUri();
// Initialize boot-managers // Initialize boot-managers
if(count($this->bootManagers)) { if(count($this->bootManagers)) {
/* @var $manager RouterBootManager */ /* @var $manager RouterBootManager */
@@ -151,6 +153,9 @@ class RouterBase {
$routeNotAllowed = false; $routeNotAllowed = false;
$this->request->rewrite_uri = $this->request->uri;
$this->request->setUri($originalUri);
$this->request->loadedRoute = $route; $this->request->loadedRoute = $route;
$route->loadMiddleware($this->request); $route->loadMiddleware($this->request);
@@ -372,7 +377,7 @@ class RouterBase {
return $this->processUrl($route, $route->getMethod(), $parameters, $getParams); return $this->processUrl($route, $route->getMethod(), $parameters, $getParams);
} }
if($route instanceof RouterRoute && stripos($route->getCallback(), '@') !== false) { if($route instanceof RouterRoute && !is_callable($route->getCallback()) && stripos($route->getCallback(), '@') !== false) {
$c = $route->getCallback(); $c = $route->getCallback();
} else if($route instanceof RouterController || $route instanceof RouterResource) { } else if($route instanceof RouterController || $route instanceof RouterResource) {
$c = $route->getController(); $c = $route->getController();