Exemple #1
0
 /**
  * Launches a new request. This would be the main entry for a Phlite
  * framework handled request.
  */
 function __invoke()
 {
     Signal::connect('php.fatal', array($this, '__onShutdown'));
     Signal::connect('php.exception', array($this, '__onUnhandledException'));
     $this->loadMiddleware();
     Signal::send('request.start', $this);
     try {
         $request = $this->getRequest();
         $response = $this->getResponse($request);
         $response = $this->processResponse($request, $response);
     } catch (UnicodeException $ex) {
         $response = new HttpResponseBadRequest();
     } catch (HttpException $ex) {
         $response = $ex->getResponse($request);
     } catch (\Exception $ex) {
         // TODO: Handle unhandled exception here
         return $this->middleware->reverse()->processException($request, $ex);
     }
     if ($response) {
         $response->setHandler($this);
         return $response->output($request);
     }
 }