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->header('content-type');
Will read the Content-Type header. You can get all set headers using:
$response->header();
You can also get at the headers using object access. When getting headers with object access, you have to use case-sensitive header names:
$val = $response->headers['Content-Type'];
Get the response body
You can access the response body using:
$content = $response->body();
You can also use object access:
$content = $response->body;
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->xml // Get as json $content = $response->json
If the response cannot be decoded, null will be returned.
Check the status code
You can access the response status code using:
$content = $response->statusCode();
You can also use object access:
$content = $response->code;
- Cake\Network\Http\Message
- Cake\Network\Http\Response
Method Detail
__constructsource public
__construct( array $headers [] , string $body '' )
Constructor
Parameters
- array
$headers
optional [] - Unparsed headers.
- string
$body
optional '' - The response body.
__getsource public
__get( string $name )
Read values as properties.
Parameters
- string
$name
- Property name.
Returns
mixed
mixed
__issetsource public
__isset( string $name )
isset/empty test with -> syntax.
Parameters
- string
$name
- Property name.
Returns
boolean
bool
_decodeGzipBodysource 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
string
string
Throws
RuntimeException
When attempting to decode gzip content without gzinflate.
_getJsonsource protected
_getJson( )
Get the response body as JSON decoded data.
Returns
null|array
null|array
_getXmlsource protected
_getXml( )
Get the response body as XML decoded data.
Returns
null|SimpleXMLElement
null|\SimpleXMLElement
_parseCookiesource protected
_parseCookie( string $value )
Parse a cookie header into data.
Parameters
- string
$value
- The cookie value to parse.
_parseHeaderssource protected
_parseHeaders( array $headers )
Parses headers if necessary.
- Decodes the status code.
- Parses and normalizes header names + values.
Parameters
- array
$headers
- Headers to parse.
bodysource 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');
Parameters
- callable|null
$parser
optional null - The callback to use to decode the response body.
Returns
mixed
The response body.
Overrides
Cake\Network\Http\Message::body()
cookiesource public
cookie( string|null $name null , boolean $all false )
Read single/multiple cookie values out.
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
mixed
mixed
headersource public
header( string|null $name null )
Read single/multiple header value(s) out.
Parameters
- string|null
$name
optional null - The name of the header you want. Leave null to get all headers.
Returns
mixed
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.
isRedirectsource public
isRedirect( )
Check if the response had a redirect status code.
Returns
boolean
bool
Methods inherited from Cake\Network\Http\Message
_normalizeHeadersource protected
_normalizeHeader( string $name )
Normalize header names to Camel-Case form.
Parameters
- string
$name
- The header name to normalize.
Returns
string
Normalized header name.
Constants inherited from Cake\Network\Http\Message
Properties summary
Properties inherited from Cake\Network\Http\Message
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Network.Http.Response.html