diff options
author | Igor Scheller <igor.scheller@igorshp.de> | 2018-09-04 18:35:13 +0200 |
---|---|---|
committer | Igor Scheller <igor.scheller@igorshp.de> | 2018-09-04 21:13:28 +0200 |
commit | b52444af8a289e089d1239657cdf6ff06b21b29d (patch) | |
tree | c2754b3049a50ad6743841a609ab0574f241720d /src/Middleware/Dispatcher.php | |
parent | b320fc779063ee80b8f0ba505cb323287ccccbf5 (diff) | |
parent | a1bc763a16ee8be109de5c9053fbc5eded53824e (diff) |
Merge remote-tracking branch 'MyIgel/routing'
Diffstat (limited to 'src/Middleware/Dispatcher.php')
-rw-r--r-- | src/Middleware/Dispatcher.php | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/src/Middleware/Dispatcher.php b/src/Middleware/Dispatcher.php index f2a5b5d5..48eb0948 100644 --- a/src/Middleware/Dispatcher.php +++ b/src/Middleware/Dispatcher.php @@ -12,6 +12,8 @@ use Psr\Http\Server\RequestHandlerInterface; class Dispatcher implements MiddlewareInterface, RequestHandlerInterface { + use ResolvesMiddlewareTrait; + /** @var MiddlewareInterface[]|string[] */ protected $stack; @@ -70,10 +72,7 @@ class Dispatcher implements MiddlewareInterface, RequestHandlerInterface throw new LogicException('Middleware queue is empty'); } - if (is_string($middleware)) { - $middleware = $this->resolveMiddleware($middleware); - } - + $middleware = $this->resolveMiddleware($middleware); if (!$middleware instanceof MiddlewareInterface) { throw new InvalidArgumentException('Middleware is no instance of ' . MiddlewareInterface::class); } @@ -82,25 +81,6 @@ class Dispatcher implements MiddlewareInterface, RequestHandlerInterface } /** - * Resolve the middleware with the container - * - * @param string $middleware - * @return MiddlewareInterface - */ - protected function resolveMiddleware($middleware) - { - if (!$this->container instanceof Application) { - throw new InvalidArgumentException('Unable to resolve middleware ' . $middleware); - } - - if ($this->container->has($middleware)) { - return $this->container->get($middleware); - } - - return $this->container->make($middleware); - } - - /** * @param Application $container */ public function setContainer(Application $container) |