gmarche/vendor/http-interop/response-sender/src/functions.php

39 lines
734 B
PHP

<?php
namespace Http\Response;
use Psr\Http\Message\ResponseInterface;
/**
* Send an HTTP response
*
* @return void
*/
function send(ResponseInterface $response)
{
$http_line = sprintf('HTTP/%s %s %s',
$response->getProtocolVersion(),
$response->getStatusCode(),
$response->getReasonPhrase()
);
header($http_line, true, $response->getStatusCode());
foreach ($response->getHeaders() as $name => $values) {
foreach ($values as $value) {
header("$name: $value", false);
}
}
$stream = $response->getBody();
if ($stream->isSeekable()) {
$stream->rewind();
}
while (!$stream->eof()) {
echo $stream->read(1024 * 8);
}
}