function handleRequest(RequestInterface $request) { $this->request = $request; $response = new Response(array('headers' => array('Content-Type' => $this->getConfig('default_content_type'), 'Content-Language' => $this->getConfig('default_language')))); try { if (!$this->qualify($this->getPathComponents())) { throw new NotFound(); } $response->setContent($this->runIfExists($request->getMethod())); } catch (NotFound $e) { $response->setStatus(404); } catch (MethodUndefined $e) { $response->setStatus(405); $response->setHeader('Allow', $this->getDefinedMethods()); } catch (Redirect $e) { $payload = $e->getPayload(); $response->setStatus($payload['status_code']); $response->setHeader('Location', $payload['location']); if (isset($payload['locations_list'])) { $response->setHeader('Asar-Internal-Locationslist', $payload['locations_list']); } } catch (ForwardRequest $e) { throw $e; } catch (\Exception $e) { $response->setStatus(500); $response->setContent($e->getMessage()); } return $response; }
function filterRequest(RequestInterface $request) { $request->setHeader('Asar-Internal-Debug', $this->debug); $app_name = $request->getHeader('Asar-Internal-Application-Name'); if ($app_name) { $this->debug->set('Application', $app_name); } return $request; }
private function createRawHttpRequestString(RequestInterface $request) { $request->setHeader('Host', $this->getHostName()); $request->setHeader('Connection', 'Close'); return $request->export(); }