httpsoft/http-emitter

Emitting of PSR-7 Response implementation

1.1.0 2023-05-05 20:18 UTC

This package is auto-updated.

Last update: 2024-04-05 22:43:53 UTC


README

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: ''