Example #1
0
 /**
  * Handles a ServerRequestInterface to convert it to a ResponseInterface.
  *
  * @param  \Psr\Http\Message\ServerRequestInterface $request
  * @return \Psr\Http\Message\ResponseInterface
  */
 public function handle(\Psr\Http\Message\ServerRequestInterface $request)
 {
     $container = $this->components->getContainer();
     $dispatcher = $this->components->getDispatcher();
     $middleware = $this->components->getMiddleware();
     $response = $this->components->getHttpResponse();
     list($function, $middlewares) = $this->dispatchRoute($dispatcher, $request);
     $result = $this->prepareMiddlewares($request, $response, $middleware, $middlewares);
     if (!$result || $result->getBody() == '') {
         $result = $this->resolveClass($container, $function);
     }
     return $this->prepareHttpResponse($result, $response);
 }