Http/Response.php
Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled
with this package in the file LICENSE.txt.
It is also available through the world-wide-web at this URL:
http://framework.zend.com/license/new-bsd
If you did not receive a copy of the license and are unable to
obtain it through the world-wide-web, please send an email
to license@zend.com so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Http
- Subpackage
- Response
- Version
- $Id$
Package: Zend_Http\ResponseZend_Http_Response represents an HTTP 1.0 / 1.1 response message. It
includes easy access to all the response's different elemts, as well as some
convenience methods for parsing and validating HTTP responses.
- Children
- \Zend_Http_Response_Stream
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Properties



array $headers = array()The HTTP response headers array
Default valuearray()Details- Type
- array



array $messages = array(100 => 'Continue', 101 => 'Switching Protocols', 200 => 'OK', 201 => 'Created', 202 => 'Accepted', 203 => 'Non-Authoritative Information', 204 => 'No Content', 205 => 'Reset Content', 206 => 'Partial Content', 300 => 'Multiple Choices', 301 => 'Moved Permanently', 302 => 'Found', 303 => 'See Other', 304 => 'Not Modified', 305 => 'Use Proxy', 307 => 'Temporary Redirect', 400 => 'Bad Request', 401 => 'Unauthorized', 402 => 'Payment Required', 403 => 'Forbidden', 404 => 'Not Found', 405 => 'Method Not Allowed', 406 => 'Not Acceptable', 407 => 'Proxy Authentication Required', 408 => 'Request Timeout', 409 => 'Conflict', 410 => 'Gone', 411 => 'Length Required', 412 => 'Precondition Failed', 413 => 'Request Entity Too Large', 414 => 'Request-URI Too Long', 415 => 'Unsupported Media Type', 416 => 'Requested Range Not Satisfiable', 417 => 'Expectation Failed', 500 => 'Internal Server Error', 501 => 'Not Implemented', 502 => 'Bad Gateway', 503 => 'Service Unavailable', 504 => 'Gateway Timeout', 505 => 'HTTP Version Not Supported', 509 => 'Bandwidth Limit Exceeded')staticList of all known HTTP response codes - used by responseCodeAsText() to
translate numeric codes to messages.
Default valuearray(100 => 'Continue', 101 => 'Switching Protocols', 200 => 'OK', 201 => 'Created', 202 => 'Accepted', 203 => 'Non-Authoritative Information', 204 => 'No Content', 205 => 'Reset Content', 206 => 'Partial Content', 300 => 'Multiple Choices', 301 => 'Moved Permanently', 302 => 'Found', 303 => 'See Other', 304 => 'Not Modified', 305 => 'Use Proxy', 307 => 'Temporary Redirect', 400 => 'Bad Request', 401 => 'Unauthorized', 402 => 'Payment Required', 403 => 'Forbidden', 404 => 'Not Found', 405 => 'Method Not Allowed', 406 => 'Not Acceptable', 407 => 'Proxy Authentication Required', 408 => 'Request Timeout', 409 => 'Conflict', 410 => 'Gone', 411 => 'Length Required', 412 => 'Precondition Failed', 413 => 'Request Entity Too Large', 414 => 'Request-URI Too Long', 415 => 'Unsupported Media Type', 416 => 'Requested Range Not Satisfiable', 417 => 'Expectation Failed', 500 => 'Internal Server Error', 501 => 'Not Implemented', 502 => 'Bad Gateway', 503 => 'Service Unavailable', 504 => 'Gateway Timeout', 505 => 'HTTP Version Not Supported', 509 => 'Bandwidth Limit Exceeded')Details- Type
- array
Methods



__construct(int $code, array $headers, string $body = null, string $version = '1.1', string $message = null) : voidHTTP response constructor
In most cases, you would use Zend_Http_Response::fromString to parse an HTTP
response string and create a new Zend_Http_Response object.
NOTE: The constructor no longer accepts nulls or empty values for the code and
headers and will throw an exception if the passed values do not form a valid HTTP
responses.
If no message is passed, the message will be guessed according to the response code.
Parameters| Name | Type | Description |
|---|
| $code | int | Response code (200, 404, ...) |
|---|
| $headers | array | Headers array |
|---|
| $body | string | Response body |
|---|
| $version | string | HTTP version |
|---|
| $message | string | Response code as text |
|---|
Throws


asString(string $br = "\n") : stringGet the entire response as string
Parameters| Name | Type | Description |
|---|
| $br | string | Line breaks (eg. "\n", "\r\n", " ") |
|---|
Returns 


decodeChunkedBody(string $body) : stringstaticDecode a "chunked" transfer-encoded body and return the decoded text
Parameters| Name | Type | Description |
|---|
| $body | string | |
|---|
Returns 


decodeDeflate(string $body) : stringstaticDecode a zlib deflated message (when Content-encoding = deflate)
Currently requires PHP with zlib support
Parameters| Name | Type | Description |
|---|
| $body | string | |
|---|
Returns


decodeGzip(string $body) : stringstaticDecode a gzip encoded message (when Content-encoding = gzip)
Currently requires PHP with zlib support
Parameters| Name | Type | Description |
|---|
| $body | string | |
|---|
Returns


extractBody(string $response_str) : stringstaticExtract the body from a response string
Parameters| Name | Type | Description |
|---|
| $response_str | string | |
|---|
Returns 


extractCode(string $response_str) : intstaticExtract the response code from a response string
Parameters| Name | Type | Description |
|---|
| $response_str | string | |
|---|
Returns 


extractHeaders(string $response_str) : arraystaticExtract the headers from a response string
Parameters| Name | Type | Description |
|---|
| $response_str | string | |
|---|
Returns 


extractMessage(string $response_str) : stringstaticExtract the HTTP message from a response
Parameters| Name | Type | Description |
|---|
| $response_str | string | |
|---|
Returns 


extractVersion(string $response_str) : stringstaticExtract the HTTP version from a response
Parameters| Name | Type | Description |
|---|
| $response_str | string | |
|---|
Returns 


fromString(string $response_str) : \Zend_Http_ResponsestaticCreate a new Zend_Http_Response object from a string
Parameters| Name | Type | Description |
|---|
| $response_str | string | |
|---|
Returns 


getBody() : stringGet the response body as string
This method returns the body of the HTTP response (the content), as it
should be in it's readable version - that is, after decoding it (if it
was decoded), deflating it (if it was gzip compressed), etc.
If you want to get the raw body (as transfered on wire) use
$this->getRawBody() instead.
Returns


getHeader( $header) : string | array | nullGet a specific header as string, or null if it is not set
Parameters| Name | Type | Description |
|---|
| $header | | |
|---|
Returns| Type | Description |
|---|
| string | array | null | |



getHeadersAsString(boolean $status_line = true, string $br = "\n") : stringGet all headers as string
Parameters| Name | Type | Description |
|---|
| $status_line | boolean | Whether to return the first status line (IE "HTTP 200 OK") |
|---|
| $br | string | Line breaks (eg. "\n", "\r\n", " ") |
|---|
Returns 


getRawBody() : stringGet the raw response body (as transfered "on wire") as string
If the body is encoded (with Transfer-Encoding, not content-encoding -
IE "chunked" body), gzip compressed, etc. it will not be decoded.
Returns


responseCodeAsText(int $code = null, boolean $http11 = true) : stringstaticA convenience function that returns a text representation of
HTTP response codes. Returns 'Unknown' for unknown codes.
Returns array of all codes, if $code is not specified.
Conforms to HTTP/1.1 as defined in RFC 2616 (except for 'Unknown')
See http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10 for reference
Parameters| Name | Type | Description |
|---|
| $code | int | HTTP response code |
|---|
| $http11 | boolean | Use HTTP version 1.1 |
|---|
Returns