This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.
WP_Http::_dispatch_request( string $url, array $args )
Dispatches a HTTP request to a supporting transport.
Description
Tests each transport in order to find a transport which matches the request arguments. Also caches the transport instance to be used later.
The order for requests is cURL, and then PHP Streams.
Parameters
- $url
-
(Required) URL to Request
- $args
-
(Required) Request arguments
Return
(array|WP_Error) Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error
Source
File: wp-includes/class-http.php
private function _dispatch_request( $url, $args ) {
static $transports = array();
$class = $this->_get_first_available_transport( $args, $url );
if ( !$class )
return new WP_Error( 'http_failure', __( 'There are no HTTP transports available which can complete the requested request.' ) );
// Transport claims to support request, instantiate it and give it a whirl.
if ( empty( $transports[$class] ) )
$transports[$class] = new $class;
$response = $transports[$class]->request( $url, $args );
/** This action is documented in wp-includes/class-http.php */
do_action( 'http_api_debug', $response, 'response', $class, $args, $url );
if ( is_wp_error( $response ) )
return $response;
/**
* Filters the HTTP API response immediately before the response is returned.
*
* @since WP-2.9.0
*
* @param array $response HTTP response.
* @param array $args HTTP request arguments.
* @param string $url The request URL.
*/
return apply_filters( 'http_response', $response, $args, $url );
}
Changelog
Version | Description |
---|---|
WP-3.2.0 | Introduced. |