diff options
author | Igor Scheller <igor.scheller@igorshp.de> | 2018-09-26 20:49:31 +0200 |
---|---|---|
committer | Igor Scheller <igor.scheller@igorshp.de> | 2018-09-26 20:49:31 +0200 |
commit | aa2124f655788dea3f15c3040f3201f2b64e14b0 (patch) | |
tree | 0419bd6c4fdf13104169a451eab37489833d1b71 /src | |
parent | 66038eda14d5d4e624b6636a6156570e3e940e49 (diff) |
RouteDispatcher: Allow installation into sub directory
Diffstat (limited to 'src')
-rw-r--r-- | src/Middleware/RouteDispatcher.php | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/Middleware/RouteDispatcher.php b/src/Middleware/RouteDispatcher.php index f14faea8..24a7906d 100644 --- a/src/Middleware/RouteDispatcher.php +++ b/src/Middleware/RouteDispatcher.php @@ -2,6 +2,7 @@ namespace Engelsystem\Middleware; +use Engelsystem\Http\Request; use FastRoute\Dispatcher as FastRouteDispatcher; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; @@ -44,7 +45,12 @@ class RouteDispatcher implements MiddlewareInterface */ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { - $route = $this->dispatcher->dispatch($request->getMethod(), urldecode($request->getUri()->getPath())); + $path = $request->getUri()->getPath(); + if ($request instanceof Request) { + $path = $request->getPathInfo(); + } + + $route = $this->dispatcher->dispatch($request->getMethod(), urldecode($path)); $status = $route[0]; if ($status == FastRouteDispatcher::NOT_FOUND) { |