MessageMock
extends Message
in package
This is the abstract base class for both the Request and Response objects.
This object contains a few simple methods that are shared by both.
Table of Contents
- $body : resource|string|callable
- Request body.
- $headers : array<string|int, mixed>
- Contains the list of HTTP headers.
- $httpVersion : string
- HTTP message version (1.0, 1.1 or 2.0).
- addHeader() : mixed
- Adds a HTTP header.
- addHeaders() : mixed
- Adds a new set of HTTP headers.
- getBody() : resource|string|callable
- 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, string>
- 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.
- hasHeader() : bool
- Will return true or false, depending on if a HTTP header exists.
- removeHeader() : bool
- Removes a HTTP header.
- setBody() : mixed
- Replaces the body resource with a new stream, string or a callback writing the body to php://output.
- setHeader() : mixed
- Updates a HTTP header.
- setHeaders() : mixed
- Sets a new set of HTTP headers.
- setHttpVersion() : mixed
- Sets the HTTP version.
Properties
$body
Request body.
protected
resource|string|callable
$body
This should be a stream resource, string or a callback writing the body to php://output
$headers
Contains the list of HTTP headers.
protected
array<string|int, mixed>
$headers
= []
$httpVersion
HTTP message version (1.0, 1.1 or 2.0).
protected
string
$httpVersion
= '1.1'
Methods
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|callable
This could be either a string, a stream or a callback writing the body to php://output.
Return values
resource|string|callable —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, string>
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, string> —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 —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()
Replaces the body resource with a new stream, string or a callback writing the body to php://output.
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