/** * @param \Psr\Http\Message\ResponseInterface $response */ public function sendToGlobal(ResponseInterface $response) { $statusCode = $response->getStatusCode(); $reasonPhrase = $response->getReasonPhrase(); $protocolVersion = $response->getProtocolVersion(); header("HTTP/{$protocolVersion} {$statusCode} {$reasonPhrase}"); foreach ($response->getHeaders() as $name => $values) { if (strtolower($name) === 'set-cookie') { foreach ($values as $cookie) { header(sprintf('Set-Cookie: %s', $cookie), false); } break; } header(sprintf('%s: %s', $name, $response->getHeaderLine($name))); } $body = $response->getBody(); if ($body) { // faster and less memory! if ($response instanceof GeneratorStream) { foreach ($response->getGenerator() as $contents) { echo $contents; } } else { echo $body->__toString(); } } }