Skip to content

httpsoft/http-emitter

Repository files navigation

HTTP Emitter

License Latest Stable Version Total Downloads GitHub Build Status GitHub Static Analysis Status Scrutinizer Code Coverage Scrutinizer Code Quality

This package emitting implementations of Psr\Http\Message\ResponseInterface from PSR-7 HTTP Message.

Documentation

Installation

This package requires PHP version 7.4 or later.

composer require httpsoft/http-emitter

Usage SapiEmitter

use HttpSoft\Emitter\SapiEmitter;
use Psr\Http\Message\ResponseInterface;

/** @var ResponseInterface $response */
$response->getBody()->write('Content');

$emitter = new SapiEmitter();
$emitter->emit($response);
// Output result: 'Content'

By default, the entire content of the response is emitted. To emit the content in parts, it is necessary to specify a maximum buffer length:

$emitter = new SapiEmitter(8192);
$emitter->emit($response);
// Output result: 'Content'

Emitting only part of the content using the Content-Range header:

$emitter = new SapiEmitter(8192);
$emitter->emit($response->withHeader('Content-Range', 'bytes 0-3/7'));
// Output result: 'Cont'

To emitting only the status line and headers without a body, it is necessary to specify true as the second parameter:

$emitter = new SapiEmitter(8192);
$emitter->emit($response, true);
// Output result: ''