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 4.6 Strawberry API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 4.6
      • 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
        • Exception
      • Cookie
      • Exception
      • Middleware
      • Session
      • TestSuite
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • Shell
    • TestSuite
    • Utility
    • Validation
    • View

Class Response

Implements methods for HTTP responses.

All 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_PERMANENT_REDIRECT ¶
    308

    HTTP 308 code

  • int
    STATUS_SEE_OTHER ¶
    303

    HTTP 303 code

  • int
    STATUS_TEMPORARY_REDIRECT ¶
    307

    HTTP 307 code

Property Summary

  • $_cookies protected
    array

    The array of cookies in the response.

  • $_json protected
    mixed

    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

  • _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.

  • buildCookieCollection() protected

    Lazily build the CookieCollection and cookie objects from the response header

  • cookies() public

    Get all cookies

  • 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.

  • isOk() public

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

  • isRedirect() public

    Check if the response had a redirect status code.

  • isSuccess() public

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

  • 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.

_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<string>

Provides magic __get() support.

Returns
array<string>

_getJson() ¶ protected

_getJson(): mixed

Get the response body as JSON decoded data.

Returns
mixed

_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

buildCookieCollection() ¶ protected

buildCookieCollection(): void

Lazily build the CookieCollection and cookie objects from the response header

Returns
void

cookies() ¶ public

cookies(): array

Get all cookies

Returns
array

getBody() ¶ public

getBody(): StreamInterface

Gets the body of the message.

Returns
StreamInterface

getCookie() ¶ public

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

Get the value of a single cookie.

Parameters
string $name

The name of the cookie value.

Returns
array|string|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(): mixed

Get the response body as JSON decoded data.

Returns
mixed

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

isOk() ¶ public

isOk(): bool

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

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

withAddedHeader() ¶ public

withAddedHeader(string $name, 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 $name

Case-insensitive header field name to add.

string|string[] $value

Header value(s).

Returns
static
Throws
Exception\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
Exception\InvalidArgumentException
When the body is not valid.

withHeader() ¶ public

withHeader(string $name, 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 $name

Case-insensitive header field name.

string|string[] $value

Header value(s).

Returns
static
Throws
Exception\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 = ''): static

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
static

withoutHeader() ¶ public

withoutHeader(string $name): 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 $name

Case-insensitive header field name to remove.

Returns
static

Property Detail

$_cookies ¶ protected

The array of cookies in the response.

Type
array

$_json ¶ protected

Cached decoded JSON data.

Type
mixed

$_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