Formatting and phpdoc cleanups from DD32. see #4779

git-svn-id: http://svn.automattic.com/wordpress/trunk@8518 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
ryan 2008-08-01 05:45:13 +00:00
parent 0c4dbbadca
commit 6f3542eff2
1 changed files with 132 additions and 159 deletions

View File

@ -4,7 +4,7 @@
*
* @package WordPress
* @subpackage HTTP
* @since {@internal Version Unknown}}
* @since 2.7
* @author Jacob Santos <wordpress@santosj.name>
*/
@ -16,30 +16,27 @@
*
* @package WordPress
* @subpackage HTTP
* @since {@internal Version Unknown}}
* @since 2.7
*/
class WP_Http
{
class WP_Http {
/**
* PHP4 style Constructor - Calls PHP5 Style Constructor
*
* @since {@internal Version Unknown}}
* @since 2.7
* @return WP_Http
*/
function WP_Http()
{
function WP_Http() {
$this->__construct();
}
/**
* PHP5 style Constructor - Setup available transport if not available.
*
* @since {@internal Version Unknown}}
* @since 2.7
* @return WP_Http
*/
function __construct()
{
function __construct() {
WP_Http::_getTransport();
}
@ -49,13 +46,12 @@ class WP_Http
* Tests all of the objects and returns the object that passes. Also caches
* that object to be used later.
*
* @since {@internal Version Unknown}}
* @since 2.7
* @access private
*
* @return object|null Null if no transports are available, HTTP transport object.
*/
function &_getTransport()
{
function &_getTransport() {
static $working_transport;
if ( is_null($working_transport) ) {
@ -81,13 +77,12 @@ class WP_Http
* to send content, but the streams transport can. This is a limitation that
* is addressed here.
*
* @since {@internal Version Unknown}}
* @since 2.7
* @access private
*
* @return object|null Null if no transports are available, HTTP transport object.
*/
function &_postTransport()
{
function &_postTransport() {
static $working_transport;
if ( is_null($working_transport) ) {
@ -106,7 +101,7 @@ class WP_Http
* Retrieve the location and set the class properties after the site has been retrieved.
*
* @access public
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param string $url
* @param string|array $headers Optional. Either the header string or array of Header name and value pairs. Expects sanitized.
@ -114,8 +109,7 @@ class WP_Http
* @param str|array $type Optional. Should be an already processed array with HTTP arguments.
* @return boolean
*/
function request($url, $args=array(), $headers=null, $body=null)
{
function request($url, $args = array(), $headers = null, $body = null) {
global $wp_version;
$defaults = array(
@ -150,15 +144,14 @@ class WP_Http
* Used for sending data that is expected to be in the body.
*
* @access public
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param string $url The location of the site and page to retrieve.
* @param string|array $headers Optional. Either the header string or array of Header name and value pairs.
* @param string $body Optional. The body that should be sent. Expected to be already processed.
* @return boolean
*/
function post($url, $args=array(), $headers=null, $body=null)
{
function post($url, $args = array(), $headers = null, $body = null) {
$defaults = array('method' => 'POST');
$r = wp_parse_args( $args, $defaults );
return $this->request($url, $headers, $body, $r);
@ -170,14 +163,13 @@ class WP_Http
* Used for sending data that is expected to be in the body.
*
* @access public
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param string|array $headers Optional. Either the header string or array of Header name and value pairs.
* @param string $body Optional. The body that should be sent. Expected to be already processed.
* @return boolean
*/
function get($url, $args=array(), $headers=null, $body=null)
{
function get($url, $args = array(), $headers = null, $body = null) {
$defaults = array('method' => 'GET');
$r = wp_parse_args( $args, $defaults );
return $this->request($url, $headers, $body, $r);
@ -189,14 +181,13 @@ class WP_Http
* Used for sending data that is expected to be in the body.
*
* @access public
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param string|array $headers Optional. Either the header string or array of Header name and value pairs.
* @param string $body Optional. The body that should be sent. Expected to be already processed.
* @return boolean
*/
function head($url, $args=array(), $headers=null, $body=null)
{
function head($url, $args = array(), $headers = null, $body = null) {
$defaults = array('method' => 'HEAD');
$r = wp_parse_args( $args, $defaults );
return $this->request($url, $r, $headers, $body);
@ -207,13 +198,12 @@ class WP_Http
*
* @access public
* @static
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param string $strResponse The full response string
* @return array Array with 'headers' and 'body' keys.
*/
function processResponse($strResponse)
{
function processResponse($strResponse) {
list($theHeaders, $theBody) = explode("\r\n\r\n", $strResponse, 2);
return array('headers' => $theHeaders, 'body' => $theBody);
}
@ -223,13 +213,12 @@ class WP_Http
*
* @access public
* @static
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param array $response Array with code and message keys
* @return bool True if 40x Response, false if something else.
*/
function is400Response($response)
{
function is400Response($response) {
if ( (int) substr($response, 0, 1) == 4 )
return true;
return false;
@ -240,13 +229,12 @@ class WP_Http
*
* @access public
* @static
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param array $headers Array with headers
* @return bool True if Location header is found.
*/
function isRedirect($headers)
{
function isRedirect($headers) {
if ( isset($headers['location']) )
return true;
return false;
@ -259,13 +247,12 @@ class WP_Http
*
* @access public
* @static
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param string|array $headers
* @return array
*/
function processHeaders($headers)
{
function processHeaders($headers) {
if ( is_array($headers) )
return $headers;
@ -279,13 +266,13 @@ class WP_Http
continue;
if ( false === strpos($tempheader, ':') ) {
list( , $iResponseCode, $strResponseMsg) = explode(" ", $tempheader, 3);
list( , $iResponseCode, $strResponseMsg) = explode(' ', $tempheader, 3);
$response['code'] = $iResponseCode;
$response['message'] = $strResponseMsg;
continue;
}
list($key, $value) = explode(":", $tempheader, 2);
list($key, $value) = explode(':', $tempheader, 2);
if ( ! empty($value) )
$newheaders[strtolower($key)] = trim($value);
@ -302,14 +289,13 @@ class WP_Http
*
* @package WordPress
* @subpackage HTTP
* @since {@internal Version Unknown}}
* @since 2.7
*/
class WP_Http_Fsockopen
{
class WP_Http_Fsockopen {
/**
* Retrieve the location and set the class properties after the site has been retrieved.
*
* @since {@internal Version Unknown}}
* @since 2.7
* @access public
* @param string $url
* @param string|array $headers Optional. Either the header string or array of Header name and value pairs. Expects sanitized.
@ -317,8 +303,7 @@ class WP_Http_Fsockopen
* @param str|array $type Optional. Should be an already processed array with HTTP arguments.
* @return boolean
*/
function request($url, $args=array(), $headers=null, $body=null)
{
function request($url, $args = array(), $headers = null, $body = null) {
$defaults = array(
'method' => 'GET', 'timeout' => 3,
'redirection' => 5, 'httpversion' => '1.0'
@ -334,7 +319,7 @@ class WP_Http_Fsockopen
$secure_transport = false;
if ( ! isset($arrURL['port']) ) {
if( (($arrURL['scheme'] == 'ssl' || $arrURL['scheme'] == 'https')) && extension_loaded('openssl') ) {
if ( ($arrURL['scheme'] == 'ssl' || $arrURL['scheme'] == 'https') && extension_loaded('openssl') ) {
$arrURL['host'] = 'ssl://' . $arrURL['host'];
$arrURL['port'] = apply_filters('http_request_default_port', 443);
$secure_transport = true;
@ -375,9 +360,9 @@ class WP_Http_Fsockopen
fwrite($handle, $strHeaders);
$strResponse = '';
while( !feof($handle) ) {
while ( ! feof($handle) )
$strResponse .= fread($handle, 4096);
}
fclose($handle);
if ( true === $secure_transport )
@ -390,9 +375,9 @@ class WP_Http_Fsockopen
return new WP_Error('http_request_failed', $arrHeaders['response']['code'] . ': ' . $arrHeaders['response']['message']);
if ( isset($arrHeaders['headers']['location']) ) {
if( $r['redirection']-- > 0 ) {
if ( $r['redirection']-- > 0 )
return $this->request($arrHeaders['headers']['location'], $r, $headers, $body);
} else
else
return new WP_Error('http_request_failed', __('Too many redirects.'));
}
@ -402,12 +387,11 @@ class WP_Http_Fsockopen
/**
* Whether this class can be used for retrieving an URL.
*
* @since {@internal Version Unknown}}
* @since 2.7
* @static
* @return boolean False means this class can not be used, true means it can.
*/
function test()
{
function test() {
if ( function_exists( 'fsockopen' ) )
return true;
@ -426,15 +410,14 @@ class WP_Http_Fsockopen
*
* @package WordPress
* @subpackage HTTP
* @since {@internal Version Unknown}}
* @since 2.7
*/
class WP_Http_Fopen
{
class WP_Http_Fopen {
/**
* Retrieve the location and set the class properties after the site has been retrieved.
*
* @access public
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param string $url
* @param string|array $headers Optional. Either the header string or array of Header name and value pairs. Expects sanitized.
@ -442,8 +425,7 @@ class WP_Http_Fopen
* @param str|array $type Optional. Should be an already processed array with HTTP arguments.
* @return boolean
*/
function request($url, $args=array(), $headers=null, $body=null)
{
function request($url, $args = array(), $headers = null, $body = null) {
global $http_response_header;
$defaults = array(
@ -461,15 +443,14 @@ class WP_Http_Fopen
$handle = fopen($url, 'rb');
if (! $handle)
return new WP_Error('http_request_failed', sprintf(__("Could not open handle for fopen() to %s"), $url));
return new WP_Error('http_request_failed', sprintf(__('Could not open handle for fopen() to %s'), $url));
if ( function_exists('stream_set_timeout') )
stream_set_timeout($handle, apply_filters('http_request_timeout', $r['timeout']) );
$strResponse = '';
while(!feof($handle)) {
while ( ! feof($handle) )
$strResponse .= fread($handle, 4096);
}
$theHeaders = '';
if ( function_exists('stream_get_meta_data') ) {
@ -490,8 +471,7 @@ class WP_Http_Fopen
* @static
* @return boolean False means this class can not be used, true means it can.
*/
function test()
{
function test() {
if ( ! function_exists('fopen') || (function_exists('ini_get') && true != ini_get('allow_url_fopen')) )
return false;
@ -509,15 +489,14 @@ class WP_Http_Fopen
*
* @package WordPress
* @subpackage HTTP
* @since {@internal Version Unknown}}
* @since 2.7
*/
class WP_Http_Streams
{
class WP_Http_Streams {
/**
* Retrieve the location and set the class properties after the site has been retrieved.
*
* @access public
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param string $url
* @param str|array $args Optional. Override the defaults.
@ -525,8 +504,7 @@ class WP_Http_Streams
* @param string $body Optional. The body that should be sent. Expected to be already processed.
* @return boolean
*/
function request($url, $args=array(), $headers=null, $body=null)
{
function request($url, $args = array(), $headers = null, $body = null) {
$defaults = array(
'method' => 'GET', 'timeout' => 3,
'redirection' => 5, 'httpversion' => '1.0'
@ -559,7 +537,7 @@ class WP_Http_Streams
stream_set_timeout($handle, apply_filters('http_request_stream_timeout', $this->timeout) );
if (! $handle)
return new WP_Error('http_request_failed', sprintf(__("Could not open handle for fopen() to %s"), $url));
return new WP_Error('http_request_failed', sprintf(__('Could not open handle for fopen() to %s'), $url));
$strResponse = stream_get_contents($handle);
$meta = stream_get_meta_data($handle);
@ -575,12 +553,11 @@ class WP_Http_Streams
*
* @static
* @access public
* @since {@internal Version Unknown}}
* @since 2.7
*
* @return boolean False means this class can not be used, true means it can.
*/
function test()
{
function test() {
if ( ! function_exists('fopen') || (function_exists('ini_get') && true != ini_get('allow_url_fopen')) )
return false;
@ -600,15 +577,14 @@ class WP_Http_Streams
*
* @package WordPress
* @subpackage HTTP
* @since {@internal Version Unknown}}
* @since 2.7
*/
class WP_Http_ExtHTTP
{
class WP_Http_ExtHTTP {
/**
* Retrieve the location and set the class properties after the site has been retrieved.
*
* @access public
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param string $url
* @param str|array $args Optional. Override the defaults.
@ -616,8 +592,7 @@ class WP_Http_ExtHTTP
* @param string $body Optional. The body that should be sent. Expected to be already processed.
* @return boolean
*/
function request($url, $args=array(), $headers=null, $body=null)
{
function request($url, $args = array(), $headers = null, $body = null) {
global $wp_version;
$defaults = array(
@ -631,8 +606,7 @@ class WP_Http_ExtHTTP
if ( isset($headers['User-Agent']) )
unset($headers['User-Agent']);
switch($r['method'])
{
switch ( $r['method'] ) {
case 'GET':
$r['method'] = HTTP_METH_GET;
break;
@ -678,12 +652,11 @@ class WP_Http_ExtHTTP
* Whether this class can be used for retrieving an URL.
*
* @static
* @since {@internal Version Unknown}}
* @since 2.7
*
* @return boolean False means this class can not be used, true means it can.
*/
function test()
{
function test() {
if ( function_exists('http_request') )
return true;
@ -694,7 +667,7 @@ class WP_Http_ExtHTTP
/**
* Returns the initialized WP_Http Object
*
* @since {@internal Version Unknown}}
* @since 2.7
* @access private
*
* @return WP_Http HTTP Transport object.
@ -733,7 +706,7 @@ function &_wp_http_get_object() {
* This function is called first to make the request and there are other API
* functions to abstract out the above convoluted setup.
*
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param string $url Site URL to retrieve.
* @param array $args Optional. Override the defaults.
@ -752,7 +725,7 @@ function wp_remote_request($url, $args=array(), $headers=null, $body=null) {
*
* @see wp_remote_request() For more information on the response array format.
*
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param string $url Site URL to retrieve.
* @param array $args Optional. Override the defaults.
@ -771,7 +744,7 @@ function wp_remote_get($url, $args=array(), $headers=null, $body=null) {
*
* @see wp_remote_request() For more information on the response array format.
*
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param string $url Site URL to retrieve.
* @param array $args Optional. Override the defaults.
@ -790,7 +763,7 @@ function wp_remote_post($url, $args=array(), $headers=null, $body=null) {
*
* @see wp_remote_request() For more information on the response array format.
*
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param string $url Site URL to retrieve.
* @param array $args Optional. Override the defaults.
@ -807,7 +780,7 @@ function wp_remote_head($url, $args=array(), $headers=null, $body=null) {
/**
* Retrieve only the headers from the raw response.
*
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param array $response HTTP response.
* @return array The headers of the response. Empty array if incorrect parameter given.
@ -822,7 +795,7 @@ function wp_remote_retrieve_headers(&$response) {
/**
* Retrieve a single header by name from the raw response.
*
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param array $response
* @param string $header Header name to retrieve value from.
@ -843,7 +816,7 @@ function wp_remote_retrieve_header(&$response, $header) {
*
* Will return an empty array if incorrect parameter value is given.
*
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param array $response HTTP response.
* @return array The keys 'code' and 'message' give information on the response.
@ -860,7 +833,7 @@ function wp_remote_retrieve_response_code(&$response) {
*
* Will return an empty array if incorrect parameter value is given.
*
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param array $response HTTP response.
* @return array The keys 'code' and 'message' give information on the response.
@ -875,7 +848,7 @@ function wp_remote_retrieve_response_message(&$response) {
/**
* Retrieve only the body from the raw response.
*
* @since {@internal Version Unknown}}
* @since 2.7
*
* @param array $response HTTP response.
* @return string The body of the response. Empty string if no body or incorrect parameter given.