Http/Response.php
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-2012 Zend Technologies USA Inc. (http://www.zend.com) + +
- License
- New BSD License + +
- Package
- Zend_Http + +
- Subpackage
- Response + +
- Version
- $Id: Response.php 25081 2012-11-06 20:59:47Z rob $ + +
\Zend_Http_Response
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-2012 Zend Technologies USA Inc. (http://www.zend.com) + +
- License
- New BSD License + +
Properties

string $message'Not Found' for 404 or 'Internal Server Error' for 500)
- Type
- string

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')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')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.
| 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 |
| Exception | Description |
|---|---|
| \Zend_Http_Exception |

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

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

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

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

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

extractCode(string $response_str) : intExtract the response code from a response string
| Name | Type | Description |
|---|---|---|
| $response_str | string |
| Type | Description |
|---|---|
| int |

extractHeaders(string $response_str) : arrayExtract the headers from a response string
| Name | Type | Description |
|---|---|---|
| $response_str | string |
| Type | Description |
|---|---|
| array |

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

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

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

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.
| Type | Description |
|---|---|
| string |

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

getHeadersAsString(boolean $status_line = true, string $br = "\n") : stringGet all headers as string
| 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", " |
| Type | Description |
|---|---|
| string |

getMessage() : stringReturn a message describing the HTTP response code +(Eg.
"OK", "Not Found", "Moved Permanently")
| Type | Description |
|---|---|
| string |

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.
| Type | Description |
|---|---|
| string |

responseCodeAsText(int $code = null, boolean $http11 = true) : stringA 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
| Name | Type | Description |
|---|---|---|
| $code | int | HTTP response code |
| $http11 | boolean | Use HTTP version 1.1 |
| Type | Description |
|---|---|
| string |