pub struct HttpClient { /* private fields */ }
Expand description

HTTP 客户端

用于发送 HTTP 请求的入口。

其中 HTTP 请求将由 HttpCaller 实现的实例来发送,如果不指定,默认通过当前启用的功能来判定。

私有云获取当前账户的 Buckets 列表

阻塞代码示例
use qiniu_credential::Credential;
use qiniu_http_client::{Authorization, HttpClient, Region, RegionsProviderEndpoints, ServiceName};

let region = Region::builder("z0")
    .add_uc_preferred_endpoint("uc-qos.pocdemo.qiniu.io".parse()?)
    .build();
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let bucket_names: Vec<String> = HttpClient::default()
    .get(&[ServiceName::Uc], RegionsProviderEndpoints::new(region))
    .use_https(false)
    .authorization(Authorization::v2(credential))
    .accept_json()
    .path("/buckets")
    .call()?
    .parse_json()?
    .into_body();
异步代码示例
use qiniu_credential::Credential;
use qiniu_http_client::{Authorization, HttpClient, Region, RegionsProviderEndpoints, ServiceName};

let region = Region::builder("z0")
    .add_uc_preferred_endpoint("uc-qos.pocdemo.qiniu.io".parse()?)
    .build();
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let bucket_names: Vec<String> = HttpClient::default()
    .async_get(&[ServiceName::Uc], RegionsProviderEndpoints::new(region))
    .use_https(false)
    .authorization(Authorization::v2(credential))
    .accept_json()
    .path("/buckets")
    .call()
    .await?
    .parse_json()
    .await?
    .into_body();

Implementations

Available on crate feature ureq only.

创建一个新的 HTTP 客户端,使用 crate::ureq::Client 作为 HttpCaller 实现

Available on crate feature isahc only.

创建一个新的 HTTP 客户端,使用 crate::isahc::Client 作为 HttpCaller 实现

Available on crate feature reqwest only.

创建一个新的 HTTP 客户端,使用 crate::reqwest::SyncClient 作为 HttpCaller 实现

Available on crate features reqwest and async only.

创建一个新的 HTTP 客户端,使用 crate::reqwest::AsyncClient 作为 HttpCaller 实现

创建一个新的 HTTP 客户端,根据当前环境变量选择 HttpCaller 实现

Available on crate feature ureq only.

创建一个新的 HTTP 客户端构建器,使用 crate::ureq::Client 作为 HttpCaller 实现

Available on crate feature isahc only.

创建一个新的 HTTP 客户端构建器,使用 crate::isahc::Client 作为 HttpCaller 实现

Available on crate feature reqwest only.

创建一个新的 HTTP 客户端构建器,使用 crate::reqwest::SyncClient 作为 HttpCaller 实现

Available on crate features reqwest and async only.

创建一个新的 HTTP 客户端构建器,使用 crate::reqwest::AsyncClient 作为 HttpCaller 实现

创建一个新的 HTTP 客户端,需要指定 HttpCaller 实现

创建一个新的 HTTP 客户端构建器,需要指定 HttpCaller 实现

创建 GET 请求的请求构建器

该方法的异步版本为 HttpClient::async_get

创建 POST 请求的请求构建器

该方法的异步版本为 HttpClient::async_post

创建 PUT 请求的请求构建器

该方法的异步版本为 HttpClient::async_put

创建 DELETE 请求的请求构建器

该方法的异步版本为 HttpClient::async_delete

创建请求的请求构建器

该方法的异步版本为 HttpClient::new_async_request

Available on crate feature async only.

创建 GET 请求的异步请求构建器

source

pub fn async_post<'r, E: EndpointsProvider + 'r>(
    &'r self,
    service_names: &'r [ServiceName],
    endpoints_provider: E
) -> AsyncRequestBuilder<'r, E>

Available on crate feature async only.

创建 POST 请求的异步请求构建器

Available on crate feature async only.

创建 PUT 请求的异步请求构建器

Available on crate feature async only.

创建 DELETE 请求的异步请求构建器

创建异步请求的请求构建器

获得默认的 HttpCaller 实例

默认通过当前启用的功能来判定

获得默认的 Resolver 实例

默认通过当前启用的功能来判定,并使用 CachedResolverShuffledResolver 对其进行包装。

获得默认的 Chooser 实例

默认使用 SubnetChooser,并使用 ShuffledChooserNeverEmptyHandedChooser 对其进行包装。

获得默认的 RequestRetrier 实例

默认使用 ErrorRetrier,并使用 LimitedRetrier 对其进行包装。

获得默认的 Backoff 实例

默认使用 ExponentialBackoff,并使用 LimitedBackoffRandomizedBackoff 对其进行包装。

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Converts self into T using Into<T>. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Pipes by value. This is generally the method you want to use. Read more

Borrows self and passes that borrow into the pipe function. Read more

Mutably borrows self and passes that borrow into the pipe function. Read more

Borrows self, then passes self.borrow() into the pipe function. Read more

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more

Borrows self, then passes self.as_ref() into the pipe function.

Mutably borrows self, then passes self.as_mut() into the pipe function. Read more

Borrows self, then passes self.deref() into the pipe function.

Mutably borrows self, then passes self.deref_mut() into the pipe function. Read more

Should always be Self

Immutable access to a value. Read more

Mutable access to a value. Read more

Immutable access to the Borrow<B> of a value. Read more

Mutable access to the BorrowMut<B> of a value. Read more

Immutable access to the AsRef<R> view of a value. Read more

Mutable access to the AsMut<R> view of a value. Read more

Immutable access to the Deref::Target of a value. Read more

Mutable access to the Deref::Target of a value. Read more

Calls .tap() only in debug builds, and is erased in release builds.

Calls .tap_mut() only in debug builds, and is erased in release builds. Read more

Calls .tap_borrow() only in debug builds, and is erased in release builds. Read more

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds. Read more

Calls .tap_ref() only in debug builds, and is erased in release builds. Read more

Calls .tap_ref_mut() only in debug builds, and is erased in release builds. Read more

Calls .tap_deref() only in debug builds, and is erased in release builds. Read more

Calls .tap_deref_mut() only in debug builds, and is erased in release builds. Read more

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

Attempts to convert self into T using TryInto<T>. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more