Http/Client/Adapter/Proxy.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 [email protected] 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
- Client_Adapter
- Version
- $Id: Proxy.php 25261 2013-02-14 12:31:01Z frosch $
\Zend_Http_Client_Adapter_Proxy
HTTP Proxy-supporting Zend_Http_Client adapter class, based on the default socket based adapter.
Should be used if proxy HTTP access is required. If no proxy is set, will fall back to Zend_Http_Client_Adapter_Socket behavior. Just like the default Socket adapter, this adapter does not require any special extensions installed.
- Parent(s)
- \Zend_Http_Client_Adapter_Socket
- Children
- \Zend_Gdata_HttpAdapterStreamingProxy
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Properties


resource $_context = null
null
Details- Type
- resource
- Inherited_from
- \Zend_Http_Client_Adapter_Socket::$$_context


array $config = array('ssltransport' => 'ssl', 'sslcert' => null, 'sslpassphrase' => null, 'sslusecontext' => false, 'proxy_host' => '', 'proxy_port' => 8080, 'proxy_user' => '', 'proxy_pass' => '', 'proxy_auth' => \Zend_Http_Client::AUTH_BASIC, 'persistent' => false)
Parameters array
array('ssltransport' => 'ssl', 'sslcert' => null, 'sslpassphrase' => null, 'sslusecontext' => false, 'proxy_host' => '', 'proxy_port' => 8080, 'proxy_user' => '', 'proxy_pass' => '', 'proxy_auth' => \Zend_Http_Client::AUTH_BASIC, 'persistent' => false)
Details- Type
- array


array $connected_to = array(null, null)
What host/port are we connected to?
Inherited from: \Zend_Http_Client_Adapter_Socket::$$connected_toarray(null, null)
Details- Type
- array
- Inherited_from
- \Zend_Http_Client_Adapter_Socket::$$connected_to


string $method = null
Request method - will be set by write() and might be used by read()
Inherited from: \Zend_Http_Client_Adapter_Socket::$$methodnull
Details- Type
- string
- Inherited_from
- \Zend_Http_Client_Adapter_Socket::$$method


boolean $negotiated = false
Whether HTTPS CONNECT was already negotiated with the proxy or not
false
Details- Type
- boolean


resource $out_stream = null
null
Details- Type
- resource
- Inherited_from
- \Zend_Http_Client_Adapter_Socket::$$out_stream


resource|null $socket = null
null
Details- Type
- resource | null
- Inherited_from
- \Zend_Http_Client_Adapter_Socket::$$socket
Methods


__construct() : void
Adapter constructor, currently empty.
Inherited from: \Zend_Http_Client_Adapter_Socket::__construct()Config is set using setConfig()


__destruct() : void
Destructor: make sure the socket is disconnected
If we are in persistent TCP mode, will not close the connection


_checkSocketReadTimeout() : void
Check if the socket has timed out - if so close connection and throw an exception
Inherited from: \Zend_Http_Client_Adapter_Socket::_checkSocketReadTimeout()Exception | Description |
---|---|
\Zend_Http_Client_Adapter_Exception | with READ_TIMEOUT code |


connect(string $host, int $port = 80, boolean $secure = false) : void
Connect to the remote server
Will try to connect to the proxy server. If no proxy was set, will fall back to the target server (behave like regular Socket adapter)
Name | Type | Description |
---|---|---|
$host | string | |
$port | int | |
$secure | boolean |


connectHandshake(string $host, integer $port = 443, string $http_ver = '1.1', array $headers = array()) : void
Preform handshaking with HTTPS proxy using CONNECT method
Name | Type | Description |
---|---|---|
$host | string | |
$port | integer | |
$http_ver | string | |
$headers | array |
Exception | Description |
---|---|
\Zend_Http_Client_Adapter_Exception |


getConfig() : array
Retrieve the array of all configuration options
Inherited from: \Zend_Http_Client_Adapter_Socket::getConfig()Type | Description |
---|---|
array |


getStreamContext() : resource
Get the stream context for the TCP connection to the server.
Inherited from: \Zend_Http_Client_Adapter_Socket::getStreamContext()If no stream context is set, will create a default one.
Type | Description |
---|---|
resource |


setConfig(\Zend_Config $config = array()) : void
Set the configuration array for the adapter
Inherited from: \Zend_Http_Client_Adapter_Socket::setConfig()Name | Type | Description |
---|---|---|
$config | \Zend_Config | | array $config |


setOutputStream(resource $stream) : \Zend_Http_Client_Adapter_Socket
Set output stream for the response
Inherited from: \Zend_Http_Client_Adapter_Socket::setOutputStream()This function sets output stream where the result will be stored.
Name | Type | Description |
---|---|---|
$stream | resource |
Type | Description |
---|---|
\Zend_Http_Client_Adapter_Socket |


setStreamContext(mixed $context) : \Zend_Http_Client_Adapter_Socket
Set the stream context for the TCP connection to the server
Inherited from: \Zend_Http_Client_Adapter_Socket::setStreamContext()Can accept either a pre-existing stream context resource, or an array of stream options, similar to the options array passed to the stream_context_create() PHP function. In such case a new stream context will be created using the passed options.
Name | Type | Description |
---|---|---|
$context | mixed | Stream context or array of context options |
Type | Description |
---|---|
\Zend_Http_Client_Adapter_Socket |
- Since
- Zend Framework 1.9


write(string $method, \Zend_Uri_Http $uri, string $http_ver = '1.1', array $headers = array(), string $body = '') : string
Send request to the proxy server
Name | Type | Description |
---|---|---|
$method | string | |
$uri | \Zend_Uri_Http | |
$http_ver | string | |
$headers | array | |
$body | string |
Type | Description |
---|---|
string | Request as string |
Exception | Description |
---|---|
\Zend_Http_Client_Adapter_Exception |