/**
  * @param callable|string $controller
  * @param array           $vars
  * @param BaseRoute       $route
  *
  * @throws \Exception
  *
  * @return ApiResponse
  */
 public function dispatch(callable $controller, array $vars = [], BaseRoute $route = null)
 {
     if ($group = $route->getParentGroup()) {
         $this->response = (new PipelineProcessor())->handlePayload(new Payload($group, $this->request, $this->response))->getResponse();
     }
     $this->response = (new PipelineProcessor())->handlePayload(new Payload($route, $this->request, $this->response))->getResponse();
     return call_user_func_array($controller, [$this->request, $this->response, $vars]);
 }
Beispiel #2
0
 /**
  * {@inheritdoc}
  */
 public function dispatch(ServerRequestInterface $request, ResponseInterface $response, array $vars)
 {
     $response = parent::dispatch($request, $response, $vars);
     if (is_null($this->middleware)) {
         return $response;
     }
     return call_user_func_array($this->middleware, [$request, $response]);
 }