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 = null
Stream context
Inherited from: \Zend_Http_Client_Adapter_Socket::$$_context\Zend_Http_Client_Adapter_Proxy::$$_contextnull
Details- 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 = null
Request 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::$$methodnull
Details- Type
- string
- Inherited_from
- \Zend_Http_Client_Adapter_Socket::$$method
- Inherited_from
- \Zend_Http_Client_Adapter_Proxy::$$method


boolean $negotiated = false
Whether HTTPS CONNECT was already negotiated with the proxy or not
Inherited from: \Zend_Http_Client_Adapter_Proxy::$$negotiatedfalse
Details- Type
- boolean
- Inherited_from
- \Zend_Http_Client_Adapter_Proxy::$$negotiated


resource $out_stream = null
Stream for storing output
Inherited from: \Zend_Http_Client_Adapter_Socket::$$out_stream\Zend_Http_Client_Adapter_Proxy::$$out_streamnull
Details- Type
- resource
- Inherited_from
- \Zend_Http_Client_Adapter_Socket::$$out_stream
- Inherited_from
- \Zend_Http_Client_Adapter_Proxy::$$out_stream


resource|null $socket = null
The socket for server connection
Inherited from: \Zend_Http_Client_Adapter_Socket::$$socket\Zend_Http_Client_Adapter_Proxy::$$socketnull
Details- Type
- resource | null
- Inherited_from
- \Zend_Http_Client_Adapter_Socket::$$socket
- Inherited_from
- \Zend_Http_Client_Adapter_Proxy::$$socket
Methods


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


__destruct() : void
Destructor: 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() : void
Check 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() : void
Close 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()) : void
Preform 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() : array
Retrieve the array of all configuration options
Inherited from: \Zend_Http_Client_Adapter_Socket::getConfig()\Zend_Http_Client_Adapter_Proxy::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()\Zend_Http_Client_Adapter_Proxy::getStreamContext()If no stream context is set, will create a default one.
Type | Description |
---|---|
resource |


read() : string
Read 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()) : void
Set 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_Socket
Set 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_Socket
Set 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 = '') : string
Send 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 |