Http/Response.php

Show: PublicProtectedPrivateinherited
Table of Contents
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-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

Package: Zend\Http\Response
Zend_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-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  

Properties

>VPropertyprotectedstring $body
The HTTP response body
Details
Type
string
>VPropertyprotectedint $code
The HTTP response code
Details
Type
int
>VPropertyprotectedarray $headers = array()
The HTTP response headers array
Default valuearray()Details
Type
array
>VPropertyprotectedstring $message
The HTTP response code as string (e.g.

'Not Found' for 404 or 'Internal Server Error' for 500)

Details
Type
string
>VPropertyprotectedarray $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')
static
List 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
>VPropertyprotectedstring $version
The HTTP version (1.0, 1.1)
Details
Type
string

Methods

methodpublic__construct(int $code, array $headers, string $body = null, string $version = '1.1', string $message = null) : void

HTTP 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
NameTypeDescription
$codeint

Response code (200, 404, ...)

$headersarray

Headers array

$bodystring

Response body

$versionstring

HTTP version

$messagestring

Response code as text

Throws
ExceptionDescription
\Zend_Http_Exception
methodpublic__toString() : string

Implements magic __toString()

Returns
TypeDescription
string
methodpublicasString(string $br = "\n") : string

Get the entire response as string

Parameters
NameTypeDescription
$brstring

Line breaks (eg. "\n", "\r\n", "
")

Returns
TypeDescription
string
methodpublicdecodeChunkedBody(string $body) : string
static

Decode a "chunked" transfer-encoded body and return the decoded text

Parameters
NameTypeDescription
$bodystring
Returns
TypeDescription
string
methodpublicdecodeDeflate(string $body) : string
static

Decode a zlib deflated message (when Content-encoding = deflate)

Currently requires PHP with zlib support

Parameters
NameTypeDescription
$bodystring
Returns
TypeDescription
string
methodpublicdecodeGzip(string $body) : string
static

Decode a gzip encoded message (when Content-encoding = gzip)

Currently requires PHP with zlib support

Parameters
NameTypeDescription
$bodystring
Returns
TypeDescription
string
methodpublicextractBody(string $response_str) : string
static

Extract the body from a response string

Parameters
NameTypeDescription
$response_strstring
Returns
TypeDescription
string
methodpublicextractCode(string $response_str) : int
static

Extract the response code from a response string

Parameters
NameTypeDescription
$response_strstring
Returns
TypeDescription
int
methodpublicextractHeaders(string $response_str) : array
static

Extract the headers from a response string

Parameters
NameTypeDescription
$response_strstring
Returns
TypeDescription
array
methodpublicextractMessage(string $response_str) : string
static

Extract the HTTP message from a response

Parameters
NameTypeDescription
$response_strstring
Returns
TypeDescription
string
methodpublicextractVersion(string $response_str) : string
static

Extract the HTTP version from a response

Parameters
NameTypeDescription
$response_strstring
Returns
TypeDescription
string
methodpublicfromString(string $response_str) : \Zend_Http_Response
static

Create a new Zend_Http_Response object from a string

Parameters
NameTypeDescription
$response_strstring
Returns
TypeDescription
\Zend_Http_Response
methodpublicgetBody() : string

Get 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
TypeDescription
string
methodpublicgetHeader(\string$header $header) : string | array | null

Get a specific header as string, or null if it is not set

Parameters
NameTypeDescription
$header\string$header
Returns
TypeDescription
string | array | null
methodpublicgetHeaders() : array

Get the response headers

Returns
TypeDescription
array
methodpublicgetHeadersAsString(boolean $status_line = true, string $br = "\n") : string

Get all headers as string

Parameters
NameTypeDescription
$status_lineboolean

Whether to return the first status line (IE "HTTP 200 OK")

$brstring

Line breaks (eg. "\n", "\r\n", "
")

Returns
TypeDescription
string
methodpublicgetMessage() : string

Return a message describing the HTTP response code (Eg.

"OK", "Not Found", "Moved Permanently")

Returns
TypeDescription
string
methodpublicgetRawBody() : string

Get 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
TypeDescription
string
methodpublicgetStatus() : int

Get the HTTP response status code

Returns
TypeDescription
int
methodpublicgetVersion() : string

Get the HTTP version of the response

Returns
TypeDescription
string
methodpublicisError() : boolean

Check whether the response is an error

Returns
TypeDescription
boolean
methodpublicisRedirect() : boolean

Check whether the response is a redirection

Returns
TypeDescription
boolean
methodpublicisSuccessful() : boolean

Check whether the response in successful

Returns
TypeDescription
boolean
methodpublicresponseCodeAsText(int $code = null, boolean $http11 = true) : string
static

A 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
NameTypeDescription
$codeint

HTTP response code

$http11boolean

Use HTTP version 1.1

Returns
TypeDescription
string
Documentation was generated by phpDocumentor 2.0.0a12.