Gdata/HttpAdapterStreamingProxy.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_Gdata
- Subpackage
- Gdata
- Version
- $Id: HttpAdapterStreamingProxy.php 24593 2012-01-05 20:35:02Z matthew $
\Zend_Gdata_HttpAdapterStreamingProxy
Extends the proxy HTTP adapter to handle streams instead of discrete body strings.
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_Proxy < \Zend_Http_Client_Adapter_Socket
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Constants
Properties

resource $_context = nullStream context
Inherited from: \Zend_Http_Client_Adapter_Socket::$$_context\Zend_Http_Client_Adapter_Proxy::$$_contextnullDetails- Type
- resource
- Inherited_from
- \Zend_Http_Client_Adapter_Socket::$$_context
- Inherited_from
- \Zend_Http_Client_Adapter_Proxy::$$_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)
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
- Inherited_from
- \Zend_Http_Client_Adapter_Proxy::$$config

string $connectHandshakeRequest = Stores the last CONNECT handshake request
Inherited from: \Zend_Http_Client_Adapter_Proxy::$$connectHandshakeRequest- Type
- string
- Inherited_from
- \Zend_Http_Client_Adapter_Proxy::$$connectHandshakeRequest

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

string $method = nullRequest method - will be set by write() and might be used by read()
Inherited from: \Zend_Http_Client_Adapter_Socket::$$method\Zend_Http_Client_Adapter_Proxy::$$methodnullDetails- Type
- string
- Inherited_from
- \Zend_Http_Client_Adapter_Socket::$$method
- Inherited_from
- \Zend_Http_Client_Adapter_Proxy::$$method

boolean $negotiated = falseWhether HTTPS CONNECT was already negotiated with the proxy or not
Inherited from: \Zend_Http_Client_Adapter_Proxy::$$negotiatedfalseDetails- Type
- boolean
- Inherited_from
- \Zend_Http_Client_Adapter_Proxy::$$negotiated

resource $out_stream = nullStream for storing output
Inherited from: \Zend_Http_Client_Adapter_Socket::$$out_stream\Zend_Http_Client_Adapter_Proxy::$$out_streamnullDetails- Type
- resource
- Inherited_from
- \Zend_Http_Client_Adapter_Socket::$$out_stream
- Inherited_from
- \Zend_Http_Client_Adapter_Proxy::$$out_stream

resource|null $socket = nullThe socket for server connection
Inherited from: \Zend_Http_Client_Adapter_Socket::$$socket\Zend_Http_Client_Adapter_Proxy::$$socketnullDetails- Type
- resource | null
- Inherited_from
- \Zend_Http_Client_Adapter_Socket::$$socket
- Inherited_from
- \Zend_Http_Client_Adapter_Proxy::$$socket
Methods

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

__destruct() : voidDestructor: make sure the socket is disconnected
Inherited from: \Zend_Http_Client_Adapter_Proxy::__destruct()If we are in persistent TCP mode, will not close the connection

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

close() : voidClose the connection to the server
Inherited from: \Zend_Http_Client_Adapter_Proxy::close()
connect(string $host, int $port = 80, boolean $secure = false) : void
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()) : voidPreform handshaking with HTTPS proxy using CONNECT method
Inherited from: \Zend_Http_Client_Adapter_Proxy::connectHandshake()| Name | Type | Description |
|---|---|---|
| $host | string | |
| $port | integer | |
| $http_ver | string | |
| $headers | array |
| Exception | Description |
|---|---|
| \Zend_Http_Client_Adapter_Exception |

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

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

read() : stringRead response from server
Inherited from: \Zend_Http_Client_Adapter_Socket::read()\Zend_Http_Client_Adapter_Proxy::read()| Type | Description |
|---|---|
| string |

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

setOutputStream(resource $stream) : \Zend_Http_Client_Adapter_SocketSet output stream for the response
Inherited from: \Zend_Http_Client_Adapter_Socket::setOutputStream()\Zend_Http_Client_Adapter_Proxy::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_SocketSet the stream context for the TCP connection to the server
Inherited from: \Zend_Http_Client_Adapter_Socket::setStreamContext()\Zend_Http_Client_Adapter_Proxy::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 = '') : stringSend request to the proxy server with streaming support
| 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 |