Implements methods for HTTP requests.
Used by Cake\Http\Client to contain request information for making requests.
string
'DELETE'
string
'GET'
string
'HEAD'
string
'OPTIONS'
string
'PATCH'
string
'POST'
string
'PUT'
string
'TRACE'
int
202
int
201
int
302
int
301
int
203
int
204
int
200
int
303
int
307
array
The array of cookies in the response.
array
Map of normalized header name to original name used to register header.
array
List of all registered headers, as key => array of values.
Return an instance with the specified header appended with the given value.
Return an instance with the provided header, replacing any existing values of any headers with the same case-insensitive name.
__construct(string $url, string $method, array $headers, mixed $data)
Constructor
Provides backwards compatible defaults for some properties.
string
$url optional The request URL
string
$method optional The HTTP method to use.
array
$headers optional The HTTP headers to set.
array|string|null
$data optional The request body to use.
addHeaders(array $headers)
Add an array of headers to the request.
array
$headers The headers to add.
cookies()
Get all cookies
array
getBody()
Gets the body of the message.
\Psr\Http\Message\StreamInterface
Returns the body as a stream.
getHeader(mixed $header)
Retrieves a message header value by the given case-insensitive name.
This method returns an array of all the header values of the given case-insensitive header name.
If the header does not appear in the message, this method MUST return an empty array.
string
$header Case-insensitive header field name.
string[]
An array of string values as provided for the given header. If the header does not appear in the message, this method MUST return an empty array.
getHeaderLine(mixed $name)
Retrieves a comma-separated string of the values for a single header.
This method returns all of the header values of the given case-insensitive header name as a string concatenated together using a comma.
NOTE: Not all header values may be appropriately represented using comma concatenation. For such headers, use getHeader() instead and supply your own delimiter when concatenating.
If the header does not appear in the message, this method MUST return an empty string.
string
$name Case-insensitive header field name.
string
A string of values as provided for the given header concatenated together using a comma. If the header does not appear in the message, this method MUST return an empty string.
getHeaders()
Retrieves all message headers.
The keys represent the header name as it will be sent over the wire, and each value is an array of strings associated with the header.
// Represent the headers as a string foreach ($message->getHeaders() as $name => $values) { echo $name . ": " . implode(", ", $values); } // Emit headers iteratively: foreach ($message->getHeaders() as $name => $values) { foreach ($values as $value) { header(sprintf('%s: %s', $name, $value), false); } }
array
Returns an associative array of the message's headers. Each key MUST be a header name, and each value MUST be an array of strings.
getMethod()
Retrieves the HTTP method of the request.
string
Returns the request method.
getProtocolVersion()
Retrieves the HTTP protocol version as a string.
The string MUST contain only the HTTP version number (e.g., "1.1", "1.0").
string
HTTP protocol version.
getRequestTarget()
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 "/".
getUri()
Retrieves the URI instance.
This method MUST return a UriInterface instance.
\Psr\Http\Message\UriInterface
Returns a UriInterface instance representing the URI of the request, if any.
hasHeader(mixed $header)
Checks if a header exists by the given case-insensitive name.
string
$header Case-insensitive header name.
bool
Returns true if any header names match the given header name using a case-insensitive string comparison. Returns false if no matching header name is found in the message.
setContent(mixed $content)
Set the body/payload for the message.
Array data will be serialized with Cake\Http\FormData, and the content-type will be set.
string|array
$content The body for the request.
$this
withAddedHeader(mixed $header, mixed $value)
Return an instance with the specified header appended with the given value.
Existing values for the specified header will be maintained. The new value(s) will be appended to the existing list. If the header did not exist previously, it will be added.
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 header and/or value.
string
$header Case-insensitive header field name to add.
string|string[]
$value Header value(s).
static
Laminas\Diactoros\Exception\InvalidArgumentException
withBody(\Psr\Http\Message\StreamInterface $body)
Return an instance with the specified message body.
The body MUST be a StreamInterface object.
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 new body stream.
\Psr\Http\Message\StreamInterface
$body Body.
static
Laminas\Diactoros\Exception\InvalidArgumentException
withHeader(mixed $header, mixed $value)
Return an instance with the provided header, replacing any existing values of any headers with the same case-insensitive name.
While header names are case-insensitive, the casing of the header will be preserved by this function, and returned from getHeaders().
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 and/or updated header and value.
string
$header Case-insensitive header field name.
string|string[]
$value Header value(s).
static
Laminas\Diactoros\Exception\InvalidArgumentException
withMethod(mixed $method)
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.
string
$method Case-insensitive method.
Laminas\Diactoros\Exception\InvalidArgumentException
withProtocolVersion(mixed $version)
Return an instance with the specified HTTP protocol version.
The version string MUST contain only the HTTP version number (e.g., "1.1", "1.0").
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 protocol version.
string
$version HTTP protocol version
static
withRequestTarget(mixed $requestTarget)
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.
string
$requestTarget Laminas\Diactoros\Exception\InvalidArgumentException
withUri(\Psr\Http\Message\UriInterface $uri, mixed $preserveHost)
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.
\Psr\Http\Message\UriInterface
$uri New request URI to use.
bool
$preserveHost optional Preserve the original state of the Host header.
withoutHeader(mixed $header)
Return an instance without the specified header.
Header resolution MUST be done without case-sensitivity.
This method MUST be implemented in such a way as to retain the immutability of the message, and MUST return an instance that removes the named header.
string
$header Case-insensitive header field name to remove.
static
The array of cookies in the response.
array
Map of normalized header name to original name used to register header.
array
List of all registered headers, as key => array of values.
array
© 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.1/class-Cake.Http.Client.Request.html