- /**
- * Directly exit with the current response (include setting all headers)
- *
- * @param ResponseInterface $response
- */
- public function exit(ResponseInterface $response)
- {
- header(sprintf("HTTP/%s %s %s",
- $response->getProtocolVersion(),
- $response->getStatusCode(),
- $response->getReasonPhrase())
- );
-
- foreach ($response->getHeaders() as $key => $header) {
- if (is_array($header)) {
- $header_str = implode(',', $header);
- } else {
- $header_str = $header;
- }
-
- if (empty($key)) {
- header($header_str);
- } else {
- header("$key: $header_str");
- }
- }
-
- echo $response->getBody();
- }
-