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();
- Cake\Http\Client\Message
- Cake\Http\Client\Response implements Psr\Http\Message\ResponseInterface uses Zend\Diactoros\MessageTrait
Inherited Constants
Properties summary
-
$_exposedProperties
protectedarray
Map of public => property names for __get() -
$_json
protectedarray
Cached decoded JSON data. -
$_xml
protectedSimpleXMLElement
Cached decoded XML data. -
$code
protectedinteger
The status code of the response. -
$cookies
protectedCookie Collection instance -
$reasonPhrase
protectedstring
The reason phrase for the status code
Inherited Magic Properties
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
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
Read single/multiple cookie values out. -
encoding() public
Get the encoding if it was set. -
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. -
getJson() public
Get the response body as JSON decoded data. -
getReasonPhrase() public
-
getStatusCode() public
-
getStringBody() public
Get the response body as string. -
getXml() public
Get the response body as XML decoded data. -
header() public
Read single/multiple header value(s) out. -
isOk() public
Check if the response was OK -
isRedirect() public
Check if the response had a redirect status code. -
statusCode() public
Get the status code from the response -
version() public
Get the HTTP version used. -
withStatus() public
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 )
Read values as properties.
Parameters
- string $name
- Property name.
Returns
__isset() public ¶
__isset( string $name )
isset/empty test with -> syntax.
Parameters
- string $name
- Property name.
Returns
_decodeGzipBody() protected ¶
_decodeGzipBody( string $body )
Uncompress a gzip response.
Looks for gzip signatures, and if gzinflate() exists, the body will be decompressed.
Parameters
- string $body
- Gzip encoded body.
Returns
Throws
When attempting to decode gzip content without gzinflate.
_getCookies() protected ¶
_getCookies( )
Property accessor for $this->cookies
Returns
Array of Cookie data.
_getXml() protected ¶
_getXml( )
Get the response body as XML decoded data.
Returns
_parseHeaders() protected ¶
_parseHeaders( array $headers )
Parses headers if necessary.
- Decodes the status code and reasonphrase.
- Parses and normalizes header names + values.
Parameters
- array $headers
- Headers to parse.
body() public ¶
body( callable|null $parser null )
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->body('json_decode');
Deprecated
Parameters
- callable|null $parser optional null
The callback to use to decode the response body.
Returns
The response body.
Overrides
buildCookieCollection() protected ¶
buildCookieCollection( )
Lazily build the CookieCollection and cookie objects from the response header
convertCookieToArray() protected ¶
convertCookieToArray( Cake\Http\Cookie\CookieInterface
$cookie )
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
cookie() public ¶
cookie( string|null $name null , boolean $all false )
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.
Deprecated
Parameters
- string|null $name optional null
The name of the cookie you want. Leave null to get all cookies.
- boolean $all optional false
Get all parts of the cookie. When false only the value will be returned.
Returns
encoding() public ¶
encoding( )
Get the encoding if it was set.
Deprecated
Returns
getCookie() public ¶
getCookie( string $name )
Get the value of a single cookie.
Parameters
- string $name
- The name of the cookie value.
Returns
Either the cookie's value or null when the cookie is undefined.
getCookieCollection() public ¶
getCookieCollection( )
Get the cookie collection from this response.
This method exposes the response's CookieCollection instance allowing you to interact with cookie objects directly.
Returns
getCookieData() public ¶
getCookieData( string $name )
Get the full data for a single cookie.
Parameters
- string $name
- The name of the cookie value.
Returns
Either the cookie's data or null when the cookie is undefined.
getXml() public ¶
getXml( )
Get the response body as XML decoded data.
Returns
header() public ¶
header( string|null $name null )
Read single/multiple header value(s) out.
Deprecated
Parameters
- string|null $name optional null
The name of the header you want. Leave null to get all headers.
Returns
Null when the header doesn't exist. An array will be returned when getting all headers or when getting a header that had multiple values set. Otherwise a string will be returned.
isRedirect() public ¶
isRedirect( )
Check if the response had a redirect status code.
Returns
statusCode() public ¶
statusCode( )
Get the status code from the response
Deprecated
Returns
version() public ¶
version( )
Get the HTTP version used.
Deprecated
Returns
withStatus() public ¶
withStatus( integer $code , string $reasonPhrase '' )
Parameters
- integer $code
- The status code to set.
- string $reasonPhrase optional ''
- The status reason phrase.
Returns
$this A copy of the current object with an updated status code.
Methods inherited from Cake\Http\Client\Message
Properties detail
$_exposedProperties ¶
Map of public => property names for __get()
[ 'cookies' => '_getCookies', 'body' => '_getBody', 'code' => 'code', 'json' => '_getJson', 'xml' => '_getXml', 'headers' => '_getHeaders', ]