Class ResponseEmitter

Emits a Response to the PHP Server API.

This emitter offers a few changes from the emitters offered by diactoros:

  • It logs headers sent using CakePHP's logging tools.
  • Cookies are emitted using setcookie() to not conflict with ext/session
Namespace: Cake\Http

Properties summary

  • $maxBufferLength protected
    int

    Maximum output buffering size for each iteration.

Method Summary

Method Detail

__construct() public

__construct(int $maxBufferLength)

Constructor

Parameters

int $maxBufferLength optional

Maximum output buffering size for each iteration.

emit() public

emit(\Psr\Http\Message\ResponseInterface $response)

Emit a response.

Emits a response, including status line, headers, and the message body, according to the environment.

Parameters

\Psr\Http\Message\ResponseInterface $response

The response to emit.

Returns

bool

emitBody() protected

emitBody(\Psr\Http\Message\ResponseInterface $response)

Emit the message body.

Parameters

\Psr\Http\Message\ResponseInterface $response

The response to emit

emitBodyRange() protected

emitBodyRange(array $range, \Psr\Http\Message\ResponseInterface $response)

Emit a range of the message body.

Parameters

array $range

The range data to emit

\Psr\Http\Message\ResponseInterface $response

The response to emit

emitCookies() protected

emitCookies(array $cookies)

Emit cookies using setcookie()

Parameters

(string|\Cake\Http\Cookie\CookieInterface)[] $cookies

An array of cookies.

emitHeaders() protected

emitHeaders(\Psr\Http\Message\ResponseInterface $response)

Emit response headers.

Loops through each header, emitting each; if the header value is an array with multiple values, ensures that each is sent in such a way as to create aggregate headers (instead of replace the previous).

Parameters

\Psr\Http\Message\ResponseInterface $response

The response to emit

emitStatusLine() protected

emitStatusLine(\Psr\Http\Message\ResponseInterface $response)

Emit the status line.

Emits the status line using the protocol version and status code from the response; if a reason phrase is available, it, too, is emitted.

Parameters

\Psr\Http\Message\ResponseInterface $response

The response to emit

flush() protected

flush(?int $maxBufferLevel)

Loops through the output buffer, flushing each, before emitting the response.

Parameters

int|null $maxBufferLevel optional

Flush up to this buffer level.

parseContentRange() protected

parseContentRange(string $header)

Parse content-range header https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16

Parameters

string $header

The Content-Range header to parse.

Returns

array|false

[unit, first, last, length]; returns false if no content range or an invalid content range is provided

setCookie() protected

setCookie(mixed $cookie)

Helper methods to set cookie.

Parameters

string|\Cake\Http\Cookie\CookieInterface $cookie

Cookie.

Returns

bool

Property Detail

$maxBufferLength protected

Maximum output buffering size for each iteration.

Type

int

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.1/class-Cake.Http.ResponseEmitter.html