On this page
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
Property Summary
-
$maxBufferLength protected
int
Maximum output buffering size for each iteration.
Method Summary
__construct() public
Constructor
emit() public
Emit a response.
emitBody() protected
Emit the message body.
emitBodyRange() protected
Emit a range of the message body.
emitCookies() protected
Emit cookies using setcookie()
emitHeaders() protected
Emit response headers.
emitStatusLine() protected
Emit the status line.
flush() protected
Loops through the output buffer, flushing each, before emitting the response.
parseContentRange() protected
Parse content-range header https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16
setCookie() protected
Helper methods to set cookie.
Method Detail
__construct() public
__construct(int $maxBufferLength = 8192)
Constructor
Parameters
int
$maxBufferLength optional-
Maximum output buffering size for each iteration.
emit() public
emit(ResponseInterface $response): bool
Emit a response.
Emits a response, including status line, headers, and the message body, according to the environment.
Parameters
ResponseInterface
$response-
The response to emit.
Returns
bool
emitBody() protected
emitBody(Psr\Http\Message\ResponseInterface $response): void
Emit the message body.
Parameters
Psr\Http\Message\ResponseInterface
$response-
The response to emit
Returns
void
emitBodyRange() protected
emitBodyRange(array $range, Psr\Http\Message\ResponseInterface $response): void
Emit a range of the message body.
Parameters
array
$range-
The range data to emit
Psr\Http\Message\ResponseInterface
$response-
The response to emit
Returns
void
emitCookies() protected
emitCookies(arrayCake\Http\Cookie\CookieInterface|string> $cookies): void
Emit cookies using setcookie()
Parameters
arrayCake\Http\Cookie\CookieInterface|string>
$cookies-
An array of cookies.
Returns
void
emitHeaders() protected
emitHeaders(Psr\Http\Message\ResponseInterface $response): void
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
Returns
void
emitStatusLine() protected
emitStatusLine(Psr\Http\Message\ResponseInterface $response): void
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
Returns
void
flush() protected
flush(int|null $maxBufferLevel = null): void
Loops through the output buffer, flushing each, before emitting the response.
Parameters
int|null
$maxBufferLevel optional-
Flush up to this buffer level.
Returns
void
parseContentRange() protected
parseContentRange(string $header): array|false
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
setCookie() protected
setCookie(Cake\Http\Cookie\CookieInterface|string $cookie): bool
Helper methods to set cookie.
Parameters
Cake\Http\Cookie\CookieInterface|string
$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.4/class-Cake.Http.ResponseEmitter.html