/** * Handles a Request to convert it to a Response. * * When $catch is true, the implementation must catch all exceptions * and do its best to convert them to a Response instance. * * @param Request $request A Request instance * @param int $type The type of the request * (one of HttpKernelInterface::MASTER_REQUEST or HttpKernelInterface::SUB_REQUEST) * @param bool $catch Whether to catch exceptions or not * * @return Response A Response instance * * @throws \Exception When an Exception occurs during processing * * @api */ public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = TRUE) { if (!$request instanceof ArhitectRequest) { $request = ArhitectRequest::createFromRequest($request); } $this->run($request); }
/** * @SuppressWarnings(PHPMD.StaticAccess) * * @param Request $request */ public function run(Request $request = NULL) { if (!$request) { $request = Request::createFromGlobals(); } $this->getServiceManager()->add(get_class($request), $request); // Retrieve the middlewares list $httpMiddlewares = $this->config->get('middlewares', []); ksort($httpMiddlewares); $bus = new Pipe($this->getServiceManager()); $pipe = $bus->pipe($httpMiddlewares); $response = $pipe($request); $response->send(); }