ResponseDecorator
in package
implements
ResponseInterface
Uses
MessageDecoratorTrait
Response Decorator.
This helper class allows you to easily create decorators for the Response object.
Tags
Interfaces, Classes and Traits
- ResponseInterface
- This interface represents a HTTP response.
Table of Contents
- $inner : MessageInterface
- The inner request object.
- __construct() : mixed
- Constructor.
- __toString() : string
- Serializes the request object as a string.
- addHeader() : mixed
- Adds a HTTP header.
- addHeaders() : mixed
- Adds a new set of HTTP headers.
- getBody() : resource|string
- Returns the message body, as it's internal representation.
- getBodyAsStream() : resource
- Returns the body as a readable stream resource.
- getBodyAsString() : string
- Returns the body as a string.
- getHeader() : string|null
- Returns a specific HTTP header, based on it's name.
- getHeaderAsArray() : array<string|int, mixed>
- Returns a HTTP header as an array.
- getHeaders() : array<string|int, mixed>
- Returns all the HTTP headers as an array.
- getHttpVersion() : string
- Returns the HTTP version.
- getStatus() : int
- Returns the current HTTP status code.
- getStatusText() : string
- Returns the human-readable status string.
- hasHeader() : bool
- Will return true or false, depending on if a HTTP header exists.
- removeHeader() : bool
- Removes a HTTP header.
- setBody() : mixed
- Updates the body resource with a new stream.
- setHeader() : mixed
- Updates a HTTP header.
- setHeaders() : mixed
- Sets a new set of HTTP headers.
- setHttpVersion() : mixed
- Sets the HTTP version.
- setStatus() : mixed
- Sets the HTTP status code.
Properties
$inner
The inner request object.
protected
MessageInterface
$inner
All method calls will be forwarded here.
Methods
__construct()
Constructor.
public
__construct(ResponseInterface $inner) : mixed
Parameters
- $inner : ResponseInterface
Return values
mixed —__toString()
Serializes the request object as a string.
public
__toString() : string
This is useful for debugging purposes.
Return values
string —addHeader()
Adds a HTTP header.
public
addHeader(string $name, string|array<string|int, string> $value) : mixed
This method will not overwrite any existing HTTP header, but instead add another value. Individual values can be retrieved with getHeadersAsArray.
Parameters
- $name : string
- $value : string|array<string|int, string>
Return values
mixed —addHeaders()
Adds a new set of HTTP headers.
public
addHeaders(array<string|int, mixed> $headers) : mixed
Any existing headers will not be overwritten.
Parameters
- $headers : array<string|int, mixed>
Return values
mixed —getBody()
Returns the message body, as it's internal representation.
public
getBody() : resource|string
This could be either a string or a stream.
Return values
resource|string —getBodyAsStream()
Returns the body as a readable stream resource.
public
getBodyAsStream() : resource
Note that the stream may not be rewindable, and therefore may only be read once.
Return values
resource —getBodyAsString()
Returns the body as a string.
public
getBodyAsString() : string
Note that because the underlying data may be based on a stream, this method could only work correctly the first time.
Return values
string —getHeader()
Returns a specific HTTP header, based on it's name.
public
getHeader(string $name) : string|null
The name must be treated as case-insensitive. If the header does not exist, this method must return null.
If a header appeared more than once in a HTTP request, this method will concatenate all the values with a comma.
Note that this not make sense for all headers. Some, such as
Set-Cookie cannot be logically combined with a comma. In those cases
you should use getHeaderAsArray().
Parameters
- $name : string
Return values
string|null —getHeaderAsArray()
Returns a HTTP header as an array.
public
getHeaderAsArray(string $name) : array<string|int, mixed>
For every time the HTTP header appeared in the request or response, an item will appear in the array.
If the header did not exists, this method will return an empty array.
Parameters
- $name : string
Return values
array<string|int, mixed> —getHeaders()
Returns all the HTTP headers as an array.
public
getHeaders() : array<string|int, mixed>
Every header is returned as an array, with one or more values.
Return values
array<string|int, mixed> —getHttpVersion()
Returns the HTTP version.
public
getHttpVersion() : string
Return values
string —getStatus()
Returns the current HTTP status code.
public
getStatus() : int
Return values
int —getStatusText()
Returns the human-readable status string.
public
getStatusText() : string
In the case of a 200, this may for example be 'OK'.
Return values
string —hasHeader()
Will return true or false, depending on if a HTTP header exists.
public
hasHeader(string $name) : bool
Parameters
- $name : string
Return values
bool —removeHeader()
Removes a HTTP header.
public
removeHeader(string $name) : bool
The specified header name must be treated as case-insensitive. This method should return true if the header was successfully deleted, and false if the header did not exist.
Parameters
- $name : string
Return values
bool —setBody()
Updates the body resource with a new stream.
public
setBody(resource|string|callable $body) : mixed
Parameters
- $body : resource|string|callable
Return values
mixed —setHeader()
Updates a HTTP header.
public
setHeader(string $name, string|array<string|int, string> $value) : mixed
The case-sensitivity of the name value must be retained as-is.
If the header already existed, it will be overwritten.
Parameters
- $name : string
- $value : string|array<string|int, string>
Return values
mixed —setHeaders()
Sets a new set of HTTP headers.
public
setHeaders(array<string|int, mixed> $headers) : mixed
The headers array should contain headernames for keys, and their value should be specified as either a string or an array.
Any header that already existed will be overwritten.
Parameters
- $headers : array<string|int, mixed>
Return values
mixed —setHttpVersion()
Sets the HTTP version.
public
setHttpVersion(string $version) : mixed
Should be 1.0, 1.1 or 2.0.
Parameters
- $version : string
Return values
mixed —setStatus()
Sets the HTTP status code.
public
setStatus(string|int $status) : mixed
This can be either the full HTTP status code with human readable string, for example: "403 I can't let you do that, Dave".
Or just the code, in which case the appropriate default message will be added.
Parameters
- $status : string|int