CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (Github)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 3.10 Red Velvet API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 3.10
      • 5.2
      • 5.1
      • 5.0
      • 4.6
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Global
  • Cake
    • Auth
    • Cache
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
    • Datasource
    • Error
    • Event
    • Filesystem
    • Form
    • Http
      • Client
        • Adapter
        • Auth
      • Cookie
      • Exception
      • Middleware
      • Session
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • Shell
    • TestSuite
    • Utility
    • Validation
    • View

Class Response

Implements methods for HTTP responses.

All of the following examples assume that $response is an instance of this class.

Get header values

Header names are case-insensitive, but normalized to Title-Case when the response is parsed.

$val = $response->getHeaderLine('content-type');

Will read the Content-Type header. You can get all set headers using:

$response->getHeaders();

Get the response body

You can access the response body stream using:

$content = $response->getBody();

You can get the body string using:

$content = $response->getStringBody();

If your response body is in XML or JSON you can use special content type specific accessors to read the decoded data. JSON data will be returned as arrays, while XML data will be returned as SimpleXML nodes:

// Get as xml
$content = $response->getXml()
// Get as json
$content = $response->getJson()

If the response cannot be decoded, null will be returned.

Check the status code

You can access the response status code using:

$content = $response->getStatusCode();
Namespace: Cake\Http\Client

Constants

  • string
    METHOD_DELETE ¶
    'DELETE'

    HTTP DELETE method

  • string
    METHOD_GET ¶
    'GET'

    HTTP GET method

  • string
    METHOD_HEAD ¶
    'HEAD'

    HTTP HEAD method

  • string
    METHOD_OPTIONS ¶
    'OPTIONS'

    HTTP OPTIONS method

  • string
    METHOD_PATCH ¶
    'PATCH'

    HTTP PATCH method

  • string
    METHOD_POST ¶
    'POST'

    HTTP POST method

  • string
    METHOD_PUT ¶
    'PUT'

    HTTP PUT method

  • string
    METHOD_TRACE ¶
    'TRACE'

    HTTP TRACE method

  • int
    STATUS_ACCEPTED ¶
    202

    HTTP 202 code

  • int
    STATUS_CREATED ¶
    201

    HTTP 201 code

  • int
    STATUS_FOUND ¶
    302

    HTTP 302 code

  • int
    STATUS_MOVED_PERMANENTLY ¶
    301

    HTTP 301 code

  • int
    STATUS_NON_AUTHORITATIVE_INFORMATION ¶
    203

    HTTP 203 code

  • int
    STATUS_NO_CONTENT ¶
    204

    HTTP 204 code

  • int
    STATUS_OK ¶
    200

    HTTP 200 code

  • int
    STATUS_SEE_OTHER ¶
    303

    HTTP 303 code

  • int
    STATUS_TEMPORARY_REDIRECT ¶
    307

    HTTP 307 code

Property Summary

  • $_body protected
    string|null

    Body for the message.

  • $_cookies protected
    array

    The array of cookies in the response.

  • $_deprecatedMagicProperties protected
    array

    Map of deprecated magic properties.

  • $_exposedProperties protected
    array

    Map of public => property names for __get()

  • $_json protected
    array

    Cached decoded JSON data.

  • $_xml protected
    SimpleXMLElement

    Cached decoded XML data.

  • $code protected
    int

    The status code of the response.

  • $cookies protected
    Cake\Http\Cookie\CookieCollection

    Cookie Collection instance

  • $headerNames protected
    array

    Map of normalized header name to original name used to register header.

  • $headers protected
    array

    List of all registered headers, as key => array of values.

  • $reasonPhrase protected
    string

    The reason phrase for the status code

Method Summary

  • __construct() public

    Constructor

  • __get() public

    Read values as properties.

  • __isset() public

    isset/empty test with -> syntax.

  • _decodeGzipBody() protected

    Uncompress a gzip response.

  • _getBody() protected

    Provides magic __get() support.

  • _getCookies() protected

    Property accessor for $this->cookies

  • _getHeaders() protected

    Provides magic __get() support.

  • _getJson() protected

    Get the response body as JSON decoded data.

  • _getXml() protected

    Get the response body as XML decoded data.

  • _parseHeaders() protected

    Parses headers if necessary.

  • body() public deprecated

    Get the response body.

  • buildCookieCollection() protected

    Lazily build the CookieCollection and cookie objects from the response header

  • convertCookieToArray() protected

    Convert the cookie into an array of its properties.

  • cookie() public deprecated

    Read single/multiple cookie values out.

  • cookies() public

    Get all cookies

  • encoding() public deprecated

    Get the encoding if it was set.

  • getBody() public

    Gets the body of the message.

  • getCookie() public

    Get the value of a single cookie.

  • getCookieCollection() public

    Get the cookie collection from this response.

  • getCookieData() public

    Get the full data for a single cookie.

  • getCookies() public

    Get the all cookie data.

  • getEncoding() public

    Get the encoding if it was set.

  • getHeader() public

    Retrieves a message header value by the given case-insensitive name.

  • getHeaderLine() public

    Retrieves a comma-separated string of the values for a single header.

  • getHeaders() public

    Retrieves all message headers.

  • getJson() public

    Get the response body as JSON decoded data.

  • getProtocolVersion() public

    Retrieves the HTTP protocol version as a string.

  • getReasonPhrase() public

    Gets the response reason phrase associated with the status code.

  • getStatusCode() public

    Gets the response status code.

  • getStringBody() public

    Get the response body as string.

  • getXml() public

    Get the response body as XML decoded data.

  • hasHeader() public

    Checks if a header exists by the given case-insensitive name.

  • header() public deprecated

    Read single/multiple header value(s) out.

  • headers() public deprecated

    Get all headers

  • isOk() public

    Check if the response was OK

  • isRedirect() public

    Check if the response had a redirect status code.

  • isSuccess() public

    Check if the response status code was in the 2xx range

  • statusCode() public deprecated

    Get the status code from the response

  • version() public deprecated

    Get the HTTP version used.

  • withAddedHeader() public

    Return an instance with the specified header appended with the given value.

  • withBody() public

    Return an instance with the specified message body.

  • withHeader() public

    Return an instance with the provided header, replacing any existing values of any headers with the same case-insensitive name.

  • withProtocolVersion() public

    Return an instance with the specified HTTP protocol version.

  • withStatus() public

    Return an instance with the specified status code and, optionally, reason phrase.

  • withoutHeader() public

    Return an instance without the specified header.

Method Detail

__construct() ¶ public

__construct(array $headers = [], string $body = '')

Constructor

Parameters
array $headers optional

Unparsed headers.

string $body optional

The response body.

__get() ¶ public

__get(string $name): mixed

Read values as properties.

Parameters
string $name

Property name.

Returns
mixed

__isset() ¶ public

__isset(string $name): bool

isset/empty test with -> syntax.

Parameters
string $name

Property name.

Returns
bool

_decodeGzipBody() ¶ protected

_decodeGzipBody(string $body): string

Uncompress a gzip response.

Looks for gzip signatures, and if gzinflate() exists, the body will be decompressed.

Parameters
string $body

Gzip encoded body.

Returns
string
Throws
RuntimeException
When attempting to decode gzip content without gzinflate.

_getBody() ¶ protected

_getBody(): string

Provides magic __get() support.

Returns
string

_getCookies() ¶ protected

_getCookies(): array

Property accessor for $this->cookies

Returns
array

_getHeaders() ¶ protected

_getHeaders(): array

Provides magic __get() support.

Returns
array

_getJson() ¶ protected

_getJson(): array|null

Get the response body as JSON decoded data.

Returns
array|null

_getXml() ¶ protected

_getXml(): SimpleXMLElement|null

Get the response body as XML decoded data.

Returns
SimpleXMLElement|null

_parseHeaders() ¶ protected

_parseHeaders(array $headers): void

Parses headers if necessary.

  • Decodes the status code and reasonphrase.
  • Parses and normalizes header names + values.
Parameters
array $headers

Headers to parse.

Returns
void

body() ¶ public

body(callable|null $parser = null): mixed

Get the response body.

By passing in a $parser callable, you can get the decoded response content back.

For example to get the json data as an object:

$body = $response->getJson();
Parameters
callable|null $parser optional

The callback to use to decode the response body.

Returns
mixed

buildCookieCollection() ¶ protected

buildCookieCollection(): void

Lazily build the CookieCollection and cookie objects from the response header

Returns
void

convertCookieToArray() ¶ protected

convertCookieToArray(Cake\Http\Cookie\CookieInterface $cookie): array

Convert the cookie into an array of its properties.

This method is compatible with older client code that expects date strings instead of timestamps.

Parameters
Cake\Http\Cookie\CookieInterface $cookie

Cookie object.

Returns
array

cookie() ¶ public

cookie(string|null $name = null, bool $all = false): mixed

Read single/multiple cookie values out.

Note This method will only provide access to cookies that were added as part of the constructor. If cookies are added post construction they will not be accessible via this method.

Parameters
string|null $name optional

The name of the cookie you want. Leave null to get all cookies.

bool $all optional

Get all parts of the cookie. When false only the value will be returned.

Returns
mixed

cookies() ¶ public

cookies(): array

Get all cookies

Returns
array

encoding() ¶ public

encoding(): string|null

Get the encoding if it was set.

Returns
string|null

getBody() ¶ public

getBody(): StreamInterface

Gets the body of the message.

Returns
StreamInterface

getCookie() ¶ public

getCookie(string $name): string|array|null

Get the value of a single cookie.

Parameters
string $name

The name of the cookie value.

Returns
string|array|null

getCookieCollection() ¶ public

getCookieCollection(): Cake\Http\Cookie\CookieCollection

Get the cookie collection from this response.

This method exposes the response's CookieCollection instance allowing you to interact with cookie objects directly.

Returns
Cake\Http\Cookie\CookieCollection

getCookieData() ¶ public

getCookieData(string $name): array|null

Get the full data for a single cookie.

Parameters
string $name

The name of the cookie value.

Returns
array|null

getCookies() ¶ public

getCookies(): array

Get the all cookie data.

Returns
array

getEncoding() ¶ public

getEncoding(): string|null

Get the encoding if it was set.

Returns
string|null

getHeader() ¶ public

getHeader(string $header): string[]

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.

Parameters
string $header

Case-insensitive header field name.

Returns
string[]

getHeaderLine() ¶ public

getHeaderLine(string $name): string

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.

Parameters
string $name

Case-insensitive header field name.

Returns
string

getHeaders() ¶ public

getHeaders(): array

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); } }

Returns
array

getJson() ¶ public

getJson(): array|null

Get the response body as JSON decoded data.

Returns
array|null

getProtocolVersion() ¶ public

getProtocolVersion(): string

Retrieves the HTTP protocol version as a string.

The string MUST contain only the HTTP version number (e.g., "1.1", "1.0").

Returns
string

getReasonPhrase() ¶ public

getReasonPhrase(): string

Gets the response reason phrase associated with the status code.

Because a reason phrase is not a required element in a response status line, the reason phrase value MAY be null. Implementations MAY choose to return the default RFC 7231 recommended reason phrase (or those listed in the IANA HTTP Status Code Registry) for the response's status code.

Returns
string

getStatusCode() ¶ public

getStatusCode(): int

Gets the response status code.

The status code is a 3-digit integer result code of the server's attempt to understand and satisfy the request.

Returns
int

getStringBody() ¶ public

getStringBody(): string

Get the response body as string.

Returns
string

getXml() ¶ public

getXml(): SimpleXMLElement|null

Get the response body as XML decoded data.

Returns
SimpleXMLElement|null

hasHeader() ¶ public

hasHeader(string $header): bool

Checks if a header exists by the given case-insensitive name.

Parameters
string $header

Case-insensitive header name.

Returns
bool

header() ¶ public

header(string|null $name = null): mixed

Read single/multiple header value(s) out.

Parameters
string|null $name optional

The name of the header you want. Leave null to get all headers.

Returns
mixed

headers() ¶ public

headers(): array

Get all headers

Returns
array

isOk() ¶ public

isOk(): bool

Check if the response was OK

Returns
bool

isRedirect() ¶ public

isRedirect(): bool

Check if the response had a redirect status code.

Returns
bool

isSuccess() ¶ public

isSuccess(): bool

Check if the response status code was in the 2xx range

Returns
bool

statusCode() ¶ public

statusCode(): int

Get the status code from the response

Returns
int

version() ¶ public

version(): string

Get the HTTP version used.

Returns
string

withAddedHeader() ¶ public

withAddedHeader(string $header, string|string[] $value): static

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.

Parameters
string $header

Case-insensitive header field name to add.

string|string[] $value

Header value(s).

Returns
static
Throws
InvalidArgumentException
for invalid header names or values.

withBody() ¶ public

withBody(StreamInterface $body): static

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.

Parameters
StreamInterface $body

Body.

Returns
static
Throws
InvalidArgumentException
When the body is not valid.

withHeader() ¶ public

withHeader(string $header, string|string[] $value): static

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.

Parameters
string $header

Case-insensitive header field name.

string|string[] $value

Header value(s).

Returns
static
Throws
InvalidArgumentException
for invalid header names or values.

withProtocolVersion() ¶ public

withProtocolVersion(string $version): static

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.

Parameters
string $version

HTTP protocol version

Returns
static

withStatus() ¶ public

withStatus(int $code, string $reasonPhrase = ''): $this

Return an instance with the specified status code and, optionally, reason phrase.

If no reason phrase is specified, implementations MAY choose to default to the RFC 7231 or IANA recommended reason phrase for the response's status code.

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 updated status and reason phrase.

Parameters
int $code

The status code to set.

string $reasonPhrase optional

The status reason phrase.

Returns
$this

withoutHeader() ¶ public

withoutHeader(string $header): static

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.

Parameters
string $header

Case-insensitive header field name to remove.

Returns
static

Property Detail

$_body ¶ protected

Body for the message.

Type
string|null

$_cookies ¶ protected

The array of cookies in the response.

Type
array

$_deprecatedMagicProperties ¶ protected

Map of deprecated magic properties.

Type
array

$_exposedProperties ¶ protected

Map of public => property names for __get()

Type
array

$_json ¶ protected

Cached decoded JSON data.

Type
array

$_xml ¶ protected

Cached decoded XML data.

Type
SimpleXMLElement

$code ¶ protected

The status code of the response.

Type
int

$cookies ¶ protected

Cookie Collection instance

Type
Cake\Http\Cookie\CookieCollection

$headerNames ¶ protected

Map of normalized header name to original name used to register header.

Type
array

$headers ¶ protected

List of all registered headers, as key => array of values.

Type
array

$reasonPhrase ¶ protected

The reason phrase for the status code

Type
string
OpenHub
Pingping
Linode
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (Github)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs