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
Properties summary
- $maxBufferLength protected
int
Maximum output buffering size for each iteration.
Method Summary
- parseContentRange() protected
Parse content-range header https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16
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