/** * @param ServerRequestInterface $request * @param ResponseInterface $response * @param array $args * @return ResponseInterface */ public function __invoke($request, $response, $args) { $path = isset($args['pathInfo']) ? $args['pathInfo'] : ''; $info = $this->map->render($path); if (!$info->found()) { return Respond::error($request, $response)->asView(500); } if ($fp = $info->getResource()) { return Respond::view($request, $response)->asFileContents($fp, $info->getMimeType()); } return Respond::view($request, $response)->asContents($info->getContents()); }