/** * Route a request * * @param \Aerys\Request $request * @param \Aerys\Response $response * @return mixed */ public function __invoke(Request $request, Response $response) { if (!($preRoute = $request->getLocalVar("aerys.routed"))) { return; } list($isMethodAllowed, $data) = $preRoute; if ($isMethodAllowed) { return $data($request, $response, $request->getLocalVar("aerys.routeArgs")); } else { $allowedMethods = implode(",", $data); $response->setStatus(HTTP_STATUS["METHOD_NOT_ALLOWED"]); $response->setHeader("Allow", $allowedMethods); $response->setHeader("Aerys-Generic-Response", "enable"); $response->end(); } }
private function sendPreAppTraceResponse(Request $request, Response $response) { $response->setStatus(HTTP_STATUS["OK"]); $response->setHeader("Content-Type", "message/http"); $response->end($request->getLocalVar('aerys.trace')); }