WP_Http::_dispatch_request()
Deprecated from version 5.1.0. It is no longer supported and can be removed in future releases. Use WP_Http::request() instead.
Dispatches a HTTP request to a supporting transport.
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.
Method of the class: WP_Http{}
Hooks from the method
Return
Array|WP_Error
. Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error.
Usage
// private - for code of main (parent) class only $result = $this->_dispatch_request( $url, $args );
- $url(string) (required)
- URL to request.
- $args(array) (required)
- Request arguments.
Notes
- See: WP_Http::request()
Changelog
Since 3.2.0 | Introduced. |
Deprecated since 5.1.0 | Use WP_Http::request() |
WP_Http::_dispatch_request() WP Http:: dispatch request code WP 6.3
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-wp-http.php */ do_action( 'http_api_debug', $response, 'response', $class, $args, $url ); if ( is_wp_error( $response ) ) { return $response; } /** This filter is documented in wp-includes/class-wp-http.php */ return apply_filters( 'http_response', $response, $args, $url ); }