Documentation

MessageDecoratorTrait

This trait contains a bunch of methods, shared by both the RequestDecorator and the ResponseDecorator.

Didn't seem needed to create a full class for this, so we're just implementing it as a trait.

Tags
copyright

Copyright (C) fruux GmbH (https://fruux.com/)

author

Evert Pot (http://evertpot.com/)

license

http://sabre.io/license/ Modified BSD License

Table of Contents

$inner  : MessageInterface
The inner request object.
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.
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.

Properties

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

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

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

Search results