GC_Http::_get_first_available_transport()
最后更新于:2021-12-01 11:13:26
GC_( array$args, string$url=null)Tests which transports are capable of supporting the request.
参数
- $args
-
(array) (Required) Request arguments.
- $url
-
(string) (Optional) URL to request.
Default value: null
响应
(string|false) Class name for the first transport that claims to support the request. False if no transport claims to support the request.
源文件
文件: gc-includes/class-http.php
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
*
* @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( 'http_api_transports', $transports, $args, $url );
// 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 = 'GC_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;
}