Example #1
0
 /**
  * Starts the controller processing.
  *
  * @param \Psr\Http\Message\ServerRequestInterface $request
  * @param \Elegant\Http\Route\Controller           $controller
  * @param string                                   $method
  *
  * @return \Psr\Http\Message\ResponseInterface
  */
 private function processController(ServerRequestInterface $request, Controller $controller, $method)
 {
     $middlewares = $this->resolveMiddlewares($controller->getMiddlewares($method));
     $pipeline = new MiddlewarePipeline($this->getContainer());
     foreach ($middlewares as $middleware) {
         $pipeline->addMiddleware($middleware);
     }
     return $pipeline->pass($request, [$this, 'dispatchController'], [$controller, $method]);
 }