/** * @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]); }
/** * {@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]); }