WP_Http::_get_first_available_transport()publicWP 3.2.0

Deprecated from version 6.4.0. It is no longer supported and can be removed in future releases. Use WpOrg\Requests\Requests::get_transport_class() instead.

Tests which transports are capable of supporting the request.

Method of the class: WP_Http{}

Hooks from the method

Return

String|false. Class name for the first transport that claims to support the request. False if no transport claims to support the request.

Usage

$WP_Http = new WP_Http();
$WP_Http->_get_first_available_transport( $args, $url );
$args(array) (required)
Request arguments.
$url(string)
URL to request.
Default: null

Notes

  • See: WpOrg\Requests[Requests::get_transport_class()](/function/Requests::get_transport_class)

Changelog

Since 3.2.0 Introduced.
Deprecated since 6.4.0 Use WpOrg\Requests\Requests::get_transport_class()

WP_Http::_get_first_available_transport() code WP 6.4.3

public function _get_first_available_transport( $args, $url = null ) {
	$transports = array( 'curl', 'streams' );

	/**
	 * Filters which HTTP transports are available and in what order.
	 *
	 * @since 3.7.0
	 * @deprecated 6.4.0 Use WpOrg\Requests\Requests::get_transport_class()
	 *
	 * @param string[] $transports Array of HTTP transports to check. Default array contains
	 *                             'curl' and 'streams', in that order.
	 * @param array    $args       HTTP request arguments.
	 * @param string   $url        The URL to request.
	 */
	$request_order = apply_filters_deprecated( 'http_api_transports', array( $transports, $args, $url ), '6.4.0' );

	// Loop over each transport on each HTTP request looking for one which will serve this request's needs.
	foreach ( $request_order as $transport ) {
		if ( in_array( $transport, $transports, true ) ) {
			$transport = ucfirst( $transport );
		}
		$class = 'WP_Http_' . $transport;

		// Check to see if this transport is a possibility, calls the transport statically.
		if ( ! call_user_func( array( $class, 'test' ), $args, $url ) ) {
			continue;
		}

		return $class;
	}

	return false;
}