PHP Class Zend_Http_Client

Afficher le fichier Open project: dbpatch/dbpatch Class Usage Examples

Protected Properties

Свойство Type Description
$_fileInfoDb resource This variable is populated the first time _detectFileMimeType is called and is then reused on every call to this method
$_queryBracketsEscaped boolean Status if the http_build_query function escapes brackets
$_unmaskStatus boolean Status for unmasking GET array params
$adapter Zend_Http_Client_Adapter_Interface The adapter used to perform the actual connection to the server
$auth array | null Expected to be an associative array with this structure: $this->auth = array('user' => 'username', 'password' => 'password', 'type' => 'basic') Where 'type' should be one of the supported authentication types (see the AUTH_* constants), for example 'basic' or 'digest'. If null, no authentication will be used.
$body_field_order array An associative array, where each element is of the format: '' => VTYPE_SCALAR | VTYPE_FILE
$config array Configuration array, set using the constructor or using ::setConfig()
$cookiejar Zend_Http_CookieJar The client's cookie jar
$enctype string Request body content type (for POST requests)
$files array An associative array, where each element is of the format: 'name' => array('filename.txt', 'text/plain', 'This is the actual file contents')
$headers array Associative array of request headers
$last_request string The last HTTP request sent by the client, as string
$last_response Zend_Http_Response The last HTTP response received by the client
$method string HTTP request method
$paramsGet array Associative array of GET parameters
$paramsPost array Associative array of POST parameters
$raw_post_data string The raw post data to send. Could be set by setRawData($data, $enctype).
$redirectCounter integer Redirection counter
$uri Zend_Uri_Http Request URI

Méthodes publiques

Méthode Description
__construct ( Zend_Uri_Http | string $uri = null, array $config = null ) Constructor method. Will create a new HTTP client. Accepts the target URL and optionally configuration array.
encodeAuthHeader ( string $user, string $password, string $type = self::AUTH_BASIC ) : string Create a HTTP authentication "Authorization:" header according to the specified user, password and authentication method.
encodeFormData ( string $boundary, string $name, mixed $value, string $filename = null, array $headers = [] ) : string Encode data to a multipart/form-data part suitable for a POST request.
getAdapter ( ) : Zend_Http_Client_Adapter_Interface Load the connection adapter
getCookieJar ( ) : Zend_Http_CookieJar | null Return the current cookie jar or null if none.
getHeader ( string $key ) : string | array | null Get the value of a specific header
getLastRequest ( ) : string Get the last HTTP request as string
getLastResponse ( ) : Zend_Http_Response Get the last HTTP response received by this client
getRedirectionsCount ( ) : integer Get the number of redirections done on the last request
getStream ( ) : boolean | string Get status of streaming for received data
getUnmaskStatus ( ) : boolean Returns the currently configured unmask status
getUri ( boolean $as_string = false ) : Zend_Uri_Http | string Get the URI for the next request
request ( string $method = null ) : Zend_Http_Response Send the HTTP request and return an HTTP response object
resetParameters ( boolean $clearAll = false ) : Zend_Http_Client Clear all GET and POST parameters
setAdapter ( Zend_Http_Client_Adapter_Interface | string $adapter ) : null Load the connection adapter
setAuth ( string | false $user, string $password = '', string $type = self::AUTH_BASIC ) : Zend_Http_Client Set HTTP authentication parameters
setConfig ( $config = [] ) : Zend_Http_Client Set configuration parameters for this HTTP client
setCookie ( Zend_Http_Cookie | string $cookie, string | null $value = null ) : Zend_Http_Client Add a cookie to the request. If the client has no Cookie Jar, the cookies will be added directly to the headers array as "Cookie" headers.
setCookieJar ( Zend_Http_CookieJar | boolean $cookiejar = true ) : Zend_Http_Client Set the HTTP client's cookie jar.
setEncType ( string $enctype = self::ENC_URLENCODED ) : Zend_Http_Client Set the encoding type for POST data
setFileUpload ( string $filename, string $formname, string $data = null, string $ctype = null ) : Zend_Http_Client Set a file to upload (using a POST request)
setHeaders ( string | array $name, mixed $value = null ) : Zend_Http_Client Set one or more request headers
setMethod ( string $method = self::GET ) : Zend_Http_Client Set the next request's method
setParameterGet ( string | array $name, string $value = null ) : Zend_Http_Client Set a GET parameter for the request. Wrapper around _setParameter
setParameterPost ( string | array $name, string $value = null ) : Zend_Http_Client Set a POST parameter for the request. Wrapper around _setParameter
setRawData ( string | resource $data, string $enctype = null ) : Zend_Http_Client Set the raw (already encoded) POST data.
setStream ( string | boolean $streamfile = true ) : Zend_Http_Client Set streaming for received data
setUnmaskStatus ( boolean $status = true ) : Zend_Http_Client Set the unmask feature for GET parameters as array
setUri ( Zend_Uri_Http | string $uri ) : Zend_Http_Client Set the URI for the next request

Méthodes protégées

Méthode Description
_detectFileMimeType ( string $file ) : string Attempt to detect the MIME type of a file using available extensions
_flattenParametersArray ( array $parray, string $prefix = null ) : array Convert an array of parameters into a flat array of (key, value) pairs
_getParametersRecursive ( array $parray, boolean $urlencode = false ) : array Helper method that gets a possibly multi-level parameters array (get or post) and flattens it.
_openTempStream ( ) : resource Create temporary stream
_prepareBody ( ) : string Prepare the request body (for POST and PUT requests)
_prepareHeaders ( ) : array Prepare the request headers
_setParameter ( string $type, string $name, string $value ) : null Set a GET or POST parameter - used by SetParameterGet and SetParameterPost

Method Details

__construct() public méthode

Constructor method. Will create a new HTTP client. Accepts the target URL and optionally configuration array.
public __construct ( Zend_Uri_Http | string $uri = null, array $config = null )
$uri Zend_Uri_Http | string
$config array Configuration key-value pairs.

_detectFileMimeType() protected méthode

This method will try to detect the MIME type of a file. If the fileinfo extension is available, it will be used. If not, the mime_magic extension which is deprected but is still available in many PHP setups will be tried. If neither extension is available, the default application/octet-stream MIME type will be returned
protected _detectFileMimeType ( string $file ) : string
$file string File path
Résultat string MIME type

_flattenParametersArray() protected static méthode

Will flatten a potentially multi-dimentional array of parameters (such as POST parameters) into a flat array of (key, value) paris. In case of multi-dimentional arrays, square brackets ([]) will be added to the key to indicate an array.
Since: 1.9
protected static _flattenParametersArray ( array $parray, string $prefix = null ) : array
$parray array
$prefix string
Résultat array

_getParametersRecursive() protected méthode

The method returns an array of (key, value) pairs (because keys are not necessarily unique. If one of the parameters in as array, it will also add a [] suffix to the key. This method is deprecated since Zend Framework 1.9 in favour of self::_flattenParametersArray() and will be dropped in 2.0
Deprecation: since 1.9
protected _getParametersRecursive ( array $parray, boolean $urlencode = false ) : array
$parray array The parameters array
$urlencode boolean Whether to urlencode the name and value
Résultat array

_openTempStream() protected méthode

Create temporary stream
protected _openTempStream ( ) : resource
Résultat resource

_prepareBody() protected méthode

Prepare the request body (for POST and PUT requests)
protected _prepareBody ( ) : string
Résultat string

_prepareHeaders() protected méthode

Prepare the request headers
protected _prepareHeaders ( ) : array
Résultat array

_setParameter() protected méthode

Set a GET or POST parameter - used by SetParameterGet and SetParameterPost
protected _setParameter ( string $type, string $name, string $value ) : null
$type string GET or POST
$name string
$value string
Résultat null

encodeAuthHeader() public static méthode

Create a HTTP authentication "Authorization:" header according to the specified user, password and authentication method.
See also: http://www.faqs.org/rfcs/rfc2617.html
public static encodeAuthHeader ( string $user, string $password, string $type = self::AUTH_BASIC ) : string
$user string
$password string
$type string
Résultat string

encodeFormData() public static méthode

Encode data to a multipart/form-data part suitable for a POST request.
public static encodeFormData ( string $boundary, string $name, mixed $value, string $filename = null, array $headers = [] ) : string
$boundary string
$name string
$value mixed
$filename string
$headers array Associative array of optional headers @example ("Content-Transfer-Encoding" => "binary")
Résultat string

getAdapter() public méthode

Load the connection adapter
public getAdapter ( ) : Zend_Http_Client_Adapter_Interface
Résultat Zend_Http_Client_Adapter_Interface $adapter

getCookieJar() public méthode

Return the current cookie jar or null if none.
public getCookieJar ( ) : Zend_Http_CookieJar | null
Résultat Zend_Http_CookieJar | null

getHeader() public méthode

Note that if the header has more than one value, an array will be returned.
public getHeader ( string $key ) : string | array | null
$key string
Résultat string | array | null The header value or null if it is not set

getLastRequest() public méthode

Get the last HTTP request as string
public getLastRequest ( ) : string
Résultat string

getLastResponse() public méthode

If $config['storeresponse'] is set to false, or no response was stored yet, will return null
public getLastResponse ( ) : Zend_Http_Response
Résultat Zend_Http_Response or null if none

getRedirectionsCount() public méthode

Get the number of redirections done on the last request
public getRedirectionsCount ( ) : integer
Résultat integer

getStream() public méthode

Get status of streaming for received data
public getStream ( ) : boolean | string
Résultat boolean | string

getUnmaskStatus() public méthode

Returns the currently configured unmask status
public getUnmaskStatus ( ) : boolean
Résultat boolean

getUri() public méthode

Get the URI for the next request
public getUri ( boolean $as_string = false ) : Zend_Uri_Http | string
$as_string boolean If true, will return the URI as a string
Résultat Zend_Uri_Http | string

request() public méthode

Send the HTTP request and return an HTTP response object
public request ( string $method = null ) : Zend_Http_Response
$method string
Résultat Zend_Http_Response

resetParameters() public méthode

Should be used to reset the request parameters if the client is used for several concurrent requests. clearAll parameter controls if we clean just parameters or also headers and last_*
public resetParameters ( boolean $clearAll = false ) : Zend_Http_Client
$clearAll boolean Should all data be cleared?
Résultat Zend_Http_Client

setAdapter() public méthode

While this method is not called more than one for a client, it is seperated from ->request() to preserve logic and readability
public setAdapter ( Zend_Http_Client_Adapter_Interface | string $adapter ) : null
$adapter Zend_Http_Client_Adapter_Interface | string
Résultat null

setAuth() public méthode

$type should be one of the supported types - see the self::AUTH_* constants. To enable authentication: $this->setAuth('shahar', 'secret', Zend_Http_Client::AUTH_BASIC); To disable authentication: $this->setAuth(false);
See also: http://www.faqs.org/rfcs/rfc2617.html
public setAuth ( string | false $user, string $password = '', string $type = self::AUTH_BASIC ) : Zend_Http_Client
$user string | false User name or false disable authentication
$password string Password
$type string Authentication type
Résultat Zend_Http_Client

setConfig() public méthode

Set configuration parameters for this HTTP client
public setConfig ( $config = [] ) : Zend_Http_Client
Résultat Zend_Http_Client

setCookie() public méthode

Add a cookie to the request. If the client has no Cookie Jar, the cookies will be added directly to the headers array as "Cookie" headers.
public setCookie ( Zend_Http_Cookie | string $cookie, string | null $value = null ) : Zend_Http_Client
$cookie Zend_Http_Cookie | string
$value string | null If "cookie" is a string, this is the cookie value.
Résultat Zend_Http_Client

setCookieJar() public méthode

A cookie jar is an object that holds and maintains cookies across HTTP requests and responses.
public setCookieJar ( Zend_Http_CookieJar | boolean $cookiejar = true ) : Zend_Http_Client
$cookiejar Zend_Http_CookieJar | boolean Existing cookiejar object, true to create a new one, false to disable
Résultat Zend_Http_Client

setEncType() public méthode

Set the encoding type for POST data
public setEncType ( string $enctype = self::ENC_URLENCODED ) : Zend_Http_Client
$enctype string
Résultat Zend_Http_Client

setFileUpload() public méthode

Can be used in two ways: 1. $data is null (default): $filename is treated as the name if a local file which will be read and sent. Will try to guess the content type using mime_content_type(). 2. $data is set - $filename is sent as the file name, but $data is sent as the file contents and no file is read from the file system. In this case, you need to manually set the Content-Type ($ctype) or it will default to application/octet-stream.
public setFileUpload ( string $filename, string $formname, string $data = null, string $ctype = null ) : Zend_Http_Client
$filename string Name of file to upload, or name to save as
$formname string Name of form element to send as
$data string Data to send (if null, $filename is read and sent)
$ctype string Content type to use (if $data is set and $ctype is null, will be application/octet-stream)
Résultat Zend_Http_Client

setHeaders() public méthode

This function can be used in several ways to set the client's request headers: 1. By providing two parameters: $name as the header to set (e.g. 'Host') and $value as it's value (e.g. 'www.example.com'). 2. By providing a single header string as the only parameter e.g. 'Host: www.example.com' 3. By providing an array of headers as the first parameter e.g. array('host' => 'www.example.com', 'x-foo: bar'). In This case the function will call itself recursively for each array item.
public setHeaders ( string | array $name, mixed $value = null ) : Zend_Http_Client
$name string | array Header name, full header string ('Header: value') or an array of headers
$value mixed Header value or null
Résultat Zend_Http_Client

setMethod() public méthode

Validated the passed method and sets it. If we have files set for POST requests, and the new method is not POST, the files are silently dropped.
public setMethod ( string $method = self::GET ) : Zend_Http_Client
$method string
Résultat Zend_Http_Client

setParameterGet() public méthode

Set a GET parameter for the request. Wrapper around _setParameter
public setParameterGet ( string | array $name, string $value = null ) : Zend_Http_Client
$name string | array
$value string
Résultat Zend_Http_Client

setParameterPost() public méthode

Set a POST parameter for the request. Wrapper around _setParameter
public setParameterPost ( string | array $name, string $value = null ) : Zend_Http_Client
$name string | array
$value string
Résultat Zend_Http_Client

setRawData() public méthode

This function is here for two reasons: 1. For advanced user who would like to set their own data, already encoded 2. For backwards compatibilty: If someone uses the old post($data) method. this method will be used to set the encoded data. $data can also be stream (such as file) from which the data will be read.
public setRawData ( string | resource $data, string $enctype = null ) : Zend_Http_Client
$data string | resource
$enctype string
Résultat Zend_Http_Client

setStream() public méthode

Set streaming for received data
public setStream ( string | boolean $streamfile = true ) : Zend_Http_Client
$streamfile string | boolean Stream file, true for temp file, false/null for no streaming
Résultat Zend_Http_Client

setUnmaskStatus() public méthode

Example: foo%5B0%5D=a&foo%5B1%5D=b becomes foo=a&foo=b This is usefull for some services
public setUnmaskStatus ( boolean $status = true ) : Zend_Http_Client
$status boolean
Résultat Zend_Http_Client

setUri() public méthode

Set the URI for the next request
public setUri ( Zend_Uri_Http | string $uri ) : Zend_Http_Client
$uri Zend_Uri_Http | string
Résultat Zend_Http_Client

Property Details

$_fileInfoDb protected_oe static_oe property

This variable is populated the first time _detectFileMimeType is called and is then reused on every call to this method
protected static resource $_fileInfoDb
Résultat resource

$_queryBracketsEscaped protected_oe property

Status if the http_build_query function escapes brackets
protected bool $_queryBracketsEscaped
Résultat boolean

$_unmaskStatus protected_oe property

Status for unmasking GET array params
protected bool $_unmaskStatus
Résultat boolean

$adapter protected_oe property

The adapter used to perform the actual connection to the server
protected Zend_Http_Client_Adapter_Interface $adapter
Résultat Zend_Http_Client_Adapter_Interface

$auth protected_oe property

Expected to be an associative array with this structure: $this->auth = array('user' => 'username', 'password' => 'password', 'type' => 'basic') Where 'type' should be one of the supported authentication types (see the AUTH_* constants), for example 'basic' or 'digest'. If null, no authentication will be used.
protected array|null $auth
Résultat array | null

$body_field_order protected_oe property

An associative array, where each element is of the format: '' => VTYPE_SCALAR | VTYPE_FILE
protected array $body_field_order
Résultat array

$config protected_oe property

Configuration array, set using the constructor or using ::setConfig()
protected array $config
Résultat array

$cookiejar protected_oe property

The client's cookie jar
protected Zend_Http_CookieJar $cookiejar
Résultat Zend_Http_CookieJar

$enctype protected_oe property

Request body content type (for POST requests)
protected string $enctype
Résultat string

$files protected_oe property

An associative array, where each element is of the format: 'name' => array('filename.txt', 'text/plain', 'This is the actual file contents')
protected array $files
Résultat array

$headers protected_oe property

Associative array of request headers
protected array $headers
Résultat array

$last_request protected_oe property

The last HTTP request sent by the client, as string
protected string $last_request
Résultat string

$last_response protected_oe property

The last HTTP response received by the client
protected Zend_Http_Response $last_response
Résultat Zend_Http_Response

$method protected_oe property

HTTP request method
protected string $method
Résultat string

$paramsGet protected_oe property

Associative array of GET parameters
protected array $paramsGet
Résultat array

$paramsPost protected_oe property

Associative array of POST parameters
protected array $paramsPost
Résultat array

$raw_post_data protected_oe property

The raw post data to send. Could be set by setRawData($data, $enctype).
protected string $raw_post_data
Résultat string

$redirectCounter protected_oe property

Redirection counter
protected int $redirectCounter
Résultat integer

$uri protected_oe property

Request URI
protected Zend_Uri_Http $uri
Résultat Zend_Uri_Http