pub trait HttpCaller: Debug + Send + Sync {
    // Required methods
    fn call(&self, request: &mut SyncRequest<'_>) -> SyncResponseResult;
    fn async_call<'a>(
        &'a self,
        request: &'a mut AsyncRequest<'_>
    ) -> Pin<Box<dyn Future<Output = AsyncResponseResult> + Send + 'a>>;

    // Provided methods
    fn is_resolved_ip_addrs_supported(&self) -> bool { ... }
    fn is_response_metrics_supported(&self) -> bool { ... }
}
Expand description

HTTP 请求处理接口

实现该接口,即可处理所有七牛 SDK 发送的 HTTP 请求

Required Methods§

source

fn call(&self, request: &mut SyncRequest<'_>) -> SyncResponseResult

阻塞发送 HTTP 请求

该方法的异步版本为 Self::async_call

source

fn async_call<'a>( &'a self, request: &'a mut AsyncRequest<'_> ) -> Pin<Box<dyn Future<Output = AsyncResponseResult> + Send + 'a>>

Available on crate feature async only.

异步发送 HTTP 请求

Provided Methods§

source

fn is_resolved_ip_addrs_supported(&self) -> bool

是否实现了 IP 地址解析功能

source

fn is_response_metrics_supported(&self) -> bool

是否返回响应指标信息功能

Implementations on Foreign Types§

source§

impl<'b, T: 'b + HttpCaller + ?Sized> HttpCaller for &'b T
where &'b T: Debug + Send + Sync,

source§

fn call(&self, request: &mut SyncRequest<'_>) -> SyncResponseResult

source§

fn async_call<'a>( &'a self, request: &'a mut AsyncRequest<'_> ) -> Pin<Box<dyn Future<Output = AsyncResponseResult> + Send + 'a>>

Available on crate feature async only.
source§

fn is_resolved_ip_addrs_supported(&self) -> bool

source§

fn is_response_metrics_supported(&self) -> bool

source§

impl<'b, T: 'b + HttpCaller + ?Sized> HttpCaller for &'b mut T
where &'b mut T: Debug + Send + Sync,

source§

fn call(&self, request: &mut SyncRequest<'_>) -> SyncResponseResult

source§

fn async_call<'a>( &'a self, request: &'a mut AsyncRequest<'_> ) -> Pin<Box<dyn Future<Output = AsyncResponseResult> + Send + 'a>>

Available on crate feature async only.
source§

fn is_resolved_ip_addrs_supported(&self) -> bool

source§

fn is_response_metrics_supported(&self) -> bool

source§

impl<T: HttpCaller + ?Sized> HttpCaller for Box<T>
where Box<T>: Debug + Send + Sync,

source§

fn call(&self, request: &mut SyncRequest<'_>) -> SyncResponseResult

source§

fn async_call<'a>( &'a self, request: &'a mut AsyncRequest<'_> ) -> Pin<Box<dyn Future<Output = AsyncResponseResult> + Send + 'a>>

Available on crate feature async only.
source§

fn is_resolved_ip_addrs_supported(&self) -> bool

source§

fn is_response_metrics_supported(&self) -> bool

source§

impl<T: HttpCaller + ?Sized> HttpCaller for Rc<T>
where Rc<T>: Debug + Send + Sync,

source§

fn call(&self, request: &mut SyncRequest<'_>) -> SyncResponseResult

source§

fn async_call<'a>( &'a self, request: &'a mut AsyncRequest<'_> ) -> Pin<Box<dyn Future<Output = AsyncResponseResult> + Send + 'a>>

Available on crate feature async only.
source§

fn is_resolved_ip_addrs_supported(&self) -> bool

source§

fn is_response_metrics_supported(&self) -> bool

source§

impl<T: HttpCaller + ?Sized> HttpCaller for Arc<T>
where Arc<T>: Debug + Send + Sync,

source§

fn call(&self, request: &mut SyncRequest<'_>) -> SyncResponseResult

source§

fn async_call<'a>( &'a self, request: &'a mut AsyncRequest<'_> ) -> Pin<Box<dyn Future<Output = AsyncResponseResult> + Send + 'a>>

Available on crate feature async only.
source§

fn is_resolved_ip_addrs_supported(&self) -> bool

source§

fn is_response_metrics_supported(&self) -> bool

Implementors§