Constants

STATUS_OK

STATUS_OK = 200 : integer

HTTP 200 code

STATUS_CREATED

STATUS_CREATED = 201 : integer

HTTP 201 code

STATUS_ACCEPTED

STATUS_ACCEPTED = 202 : integer

HTTP 202 code

STATUS_NON_AUTHORITATIVE_INFORMATION

STATUS_NON_AUTHORITATIVE_INFORMATION = 203 : integer

HTTP 203 code

STATUS_NO_CONTENT

STATUS_NO_CONTENT = 204 : integer

HTTP 204 code

STATUS_MOVED_PERMANENTLY

STATUS_MOVED_PERMANENTLY = 301 : integer

HTTP 301 code

STATUS_FOUND

STATUS_FOUND = 302 : integer

HTTP 302 code

STATUS_SEE_OTHER

STATUS_SEE_OTHER = 303 : integer

HTTP 303 code

STATUS_TEMPORARY_REDIRECT

STATUS_TEMPORARY_REDIRECT = 307 : integer

HTTP 307 code

METHOD_GET

METHOD_GET = 'GET' : string

HTTP GET method

METHOD_POST

METHOD_POST = 'POST' : string

HTTP POST method

METHOD_PUT

METHOD_PUT = 'PUT' : string

HTTP PUT method

METHOD_DELETE

METHOD_DELETE = 'DELETE' : string

HTTP DELETE method

METHOD_PATCH

METHOD_PATCH = 'PATCH' : string

HTTP PATCH method

METHOD_OPTIONS

METHOD_OPTIONS = 'OPTIONS' : string

HTTP OPTIONS method

METHOD_TRACE

METHOD_TRACE = 'TRACE' : string

HTTP TRACE method

METHOD_HEAD

METHOD_HEAD = 'HEAD' : string

HTTP HEAD method

Properties

$headers

$headers : array

Type

array

$_cookies

$_cookies : array

The array of cookies in the response.

Type

array

$_body

$_body : string|null

Body for the message.

Type

string|null

$method

$method : string

Type

string

$requestTarget

$requestTarget : null|string

The request-target, if it has been provided or calculated.

Type

null|string

Methods

getRequestTarget()

getRequestTarget() : string

Retrieves the message's request target.

Retrieves the message's request-target either as it will appear (for clients), as it appeared at request (for servers), or as it was specified for the instance (see withRequestTarget()).

In most cases, this will be the origin-form of the composed URI, unless a value was provided to the concrete implementation (see withRequestTarget() below).

If no URI is available, and no request-target has been specifically provided, this method MUST return the string "/".

Returns

string

withRequestTarget()

withRequestTarget(mixed  $requestTarget) : static

Create a new instance with a specific request-target.

If the request needs a non-origin-form request-target — e.g., for specifying an absolute-form, authority-form, or asterisk-form — this method may be used to create an instance with the specified request-target, verbatim.

This method MUST be implemented in such a way as to retain the immutability of the message, and MUST return a new instance that has the changed request target.

Parameters

mixed $requestTarget

Throws

\InvalidArgumentException

if the request target is invalid.

Returns

static

getMethod()

getMethod() : string

Retrieves the HTTP method of the request.

Returns

string —

Returns the request method.

withMethod()

withMethod(string  $method) : static

Return an instance with the provided HTTP method.

While HTTP method names are typically all uppercase characters, HTTP method names are case-sensitive and thus implementations SHOULD NOT modify the given string.

This method MUST be implemented in such a way as to retain the immutability of the message, and MUST return an instance that has the changed request method.

Parameters

string $method

Case-insensitive method.

Throws

\InvalidArgumentException

for invalid HTTP methods.

Returns

static

getUri()

getUri() : \Psr\Http\Message\UriInterface

Retrieves the URI instance.

This method MUST return a UriInterface instance.

Returns

\Psr\Http\Message\UriInterface

Returns a UriInterface instance representing the URI of the request, if any.

withUri()

withUri(\Psr\Http\Message\UriInterface  $uri, boolean  $preserveHost = false) : static

Returns an instance with the provided URI.

This method will update the Host header of the returned request by default if the URI contains a host component. If the URI does not contain a host component, any pre-existing Host header will be carried over to the returned request.

You can opt-in to preserving the original state of the Host header by setting $preserveHost to true. When $preserveHost is set to true, the returned request will not update the Host header of the returned message -- even if the message contains no Host header. This means that a call to getHeader('Host') on the original request MUST equal the return value of a call to getHeader('Host') on the returned request.

This method MUST be implemented in such a way as to retain the immutability of the message, and MUST return an instance that has the new UriInterface instance.

Parameters

\Psr\Http\Message\UriInterface $uri

New request URI to use.

boolean $preserveHost

Preserve the original state of the Host header.

Returns

static

headers()

headers() : array

Get all headers

Returns

array

cookies()

cookies() : array

Get all cookies

Returns

array

body()

body(string|array|null  $body = null) : mixed

Get/set the body/payload for the message.

Array data will be serialized with Cake\Http\FormData, and the content-type will be set.

Parameters

string|array|null $body

The body for the request. Leave null for get

Returns

mixed —

Either $this or the body value.

__construct()

__construct(string  $url = '', string  $method = self::METHOD_GET, array  $headers = array(), array|string|null  $data = null) 

Constructor

Provides backwards compatible defaults for some properties.

Parameters

string $url

The request URL

string $method

The HTTP method to use.

array $headers

The HTTP headers to set.

array|string|null $data

The request body to use.

method()

method(string|null  $method = null) : $this|string

Get/Set the HTTP method.

Warning This method mutates the request in-place for backwards compatibility reasons, and is not part of the PSR7 interface.

Parameters

string|null $method

The method for the request.

Throws

\Cake\Core\Exception\Exception

On invalid methods.

Returns

$this|string —

Either this or the current method.

url()

url(string|null  $url = null) : $this|string

Get/Set the url for the request.

Warning This method mutates the request in-place for backwards compatibility reasons, and is not part of the PSR7 interface.

Parameters

string|null $url

The url for the request. Leave null for get

Returns

$this|string —

Either $this or the url value.

header()

header(string|array|null  $name = null, string|null  $value = null) : mixed

Get/Set headers into the request.

You can get the value of a header, or set one/many headers. Headers are set / fetched in a case insensitive way.

Getting headers

$request->header('Content-Type');

Setting one header

$request->header('Content-Type', 'application/json');

Setting multiple headers

$request->header(['Connection' => 'close', 'User-Agent' => 'CakePHP']);

Warning This method mutates the request in-place for backwards compatibility reasons, and is not part of the PSR7 interface.

Parameters

string|array|null $name

The name to get, or array of multiple values to set.

string|null $value

The value to set for the header.

Returns

mixed —

Either $this when setting or header value when getting.

cookie()

cookie(string  $name, string|null  $value = null) : mixed

Get/Set cookie values.

Getting a cookie

$request->cookie('session');

Setting one cookie

$request->cookie('session', '123456');

Setting multiple headers

$request->cookie(['test' => 'value', 'split' => 'banana']);

Parameters

string $name

The name of the cookie to get/set

string|null $value

Either the value or null when getting values.

Returns

mixed —

Either $this or the cookie value.

version()

version(string|null  $version = null) : $this|string

Get/Set HTTP version.

Warning This method mutates the request in-place for backwards compatibility reasons, and is not part of the PSR7 interface.

Parameters

string|null $version

The HTTP version.

Returns

$this|string —

Either $this or the HTTP version.

addHeaders()

addHeaders(array  $headers) : void

Add an array of headers to the request.

Parameters

array $headers

The headers to add.

initialize()

initialize(null|string|\Psr\Http\Message\UriInterface  $uri = null, null|string  $method = null, string|resource|\Psr\Http\Message\StreamInterface  $body = 'php://memory', array  $headers = array()) 

Initialize request state.

Used by constructors.

Parameters

null|string|\Psr\Http\Message\UriInterface $uri

URI for the request, if any.

null|string $method

HTTP method for the request, if any.

string|resource|\Psr\Http\Message\StreamInterface $body

Message body, if any.

array $headers

Headers for the message, if any.

Throws

\InvalidArgumentException

for any invalid value.

createUri()

createUri(null|string|\Psr\Http\Message\UriInterface  $uri) : \Psr\Http\Message\UriInterface

Create and return a URI instance.

If $uri is a already a UriInterface instance, returns it.

If $uri is a string, passes it to the Uri constructor to return an instance.

If $uri is null, creates and returns an emptyUri` instance.

Otherwise, it raises an exception.

Parameters

null|string|\Psr\Http\Message\UriInterface $uri

Throws

\InvalidArgumentException

Returns

\Psr\Http\Message\UriInterface

validateMethod()

validateMethod(null|string  $method) 

Validate the HTTP method

Parameters

null|string $method

Throws

\InvalidArgumentException

on invalid HTTP method.

getHostFromUri()

getHostFromUri() : string

Retrieve the host from the URI instance

Returns

string