pub trait HttpCaller: Debug + Send + Sync {
    // Required methods
    fn call(
        &self,
        request: &mut Request<'_, RequestBody<'_>>
    ) -> Result<Response<ResponseBody>, Error>;
    fn async_call<'a>(
        &'a self,
        request: &'a mut Request<'_, AsyncRequestBody<'_>>
    ) -> Pin<Box<dyn Future<Output = Result<Response<AsyncResponseBody>, Error>> + Send + 'a, Global>>;

    // 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 Request<'_, RequestBody<'_>> ) -> Result<Response<ResponseBody>, Error>

阻塞发送 HTTP 请求

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

source

fn async_call<'a>( &'a self, request: &'a mut Request<'_, AsyncRequestBody<'_>> ) -> Pin<Box<dyn Future<Output = Result<Response<AsyncResponseBody>, Error>> + Send + 'a, Global>>

异步发送 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<T> HttpCaller for Arc<T>where T: HttpCaller + ?Sized, Arc<T>: Debug + Send + Sync,

source§

fn call( &self, request: &mut Request<'_, RequestBody<'_>> ) -> Result<Response<ResponseBody>, Error>

source§

fn async_call<'a>( &'a self, request: &'a mut Request<'_, AsyncRequestBody<'_>> ) -> Pin<Box<dyn Future<Output = Result<Response<AsyncResponseBody>, Error>> + Send + 'a, Global>>

source§

fn is_resolved_ip_addrs_supported(&self) -> bool

source§

fn is_response_metrics_supported(&self) -> bool

source§

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

source§

fn call( &self, request: &mut Request<'_, RequestBody<'_>> ) -> Result<Response<ResponseBody>, Error>

source§

fn async_call<'a>( &'a self, request: &'a mut Request<'_, AsyncRequestBody<'_>> ) -> Pin<Box<dyn Future<Output = Result<Response<AsyncResponseBody>, Error>> + Send + 'a, Global>>

source§

fn is_resolved_ip_addrs_supported(&self) -> bool

source§

fn is_response_metrics_supported(&self) -> bool

source§

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

source§

fn call( &self, request: &mut Request<'_, RequestBody<'_>> ) -> Result<Response<ResponseBody>, Error>

source§

fn async_call<'a>( &'a self, request: &'a mut Request<'_, AsyncRequestBody<'_>> ) -> Pin<Box<dyn Future<Output = Result<Response<AsyncResponseBody>, Error>> + Send + 'a, Global>>

source§

fn is_resolved_ip_addrs_supported(&self) -> bool

source§

fn is_response_metrics_supported(&self) -> bool

source§

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

source§

fn call( &self, request: &mut Request<'_, RequestBody<'_>> ) -> Result<Response<ResponseBody>, Error>

source§

fn async_call<'a>( &'a self, request: &'a mut Request<'_, AsyncRequestBody<'_>> ) -> Pin<Box<dyn Future<Output = Result<Response<AsyncResponseBody>, Error>> + Send + 'a, Global>>

source§

fn is_resolved_ip_addrs_supported(&self) -> bool

source§

fn is_response_metrics_supported(&self) -> bool

source§

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

source§

fn call( &self, request: &mut Request<'_, RequestBody<'_>> ) -> Result<Response<ResponseBody>, Error>

source§

fn async_call<'a>( &'a self, request: &'a mut Request<'_, AsyncRequestBody<'_>> ) -> Pin<Box<dyn Future<Output = Result<Response<AsyncResponseBody>, Error>> + Send + 'a, Global>>

source§

fn is_resolved_ip_addrs_supported(&self) -> bool

source§

fn is_response_metrics_supported(&self) -> bool

source§

impl HttpCaller for Client

source§

fn call<'a>( &'a self, request: &'a mut Request<'_, RequestBody<'_>> ) -> Result<Response<ResponseBody>, Error>

source§

fn async_call<'a>( &'a self, request: &'a mut Request<'_, AsyncRequestBody<'_>> ) -> Pin<Box<dyn Future<Output = Result<Response<AsyncResponseBody>, Error>> + Send + 'a, Global>>

source§

fn is_resolved_ip_addrs_supported(&self) -> bool

source§

fn is_response_metrics_supported(&self) -> bool

source§

impl HttpCaller for Client

source§

fn call( &self, request: &mut Request<'_, RequestBody<'_>> ) -> Result<Response<ResponseBody>, Error>

source§

fn async_call<'a>( &'a self, _request: &'a mut Request<'_, AsyncRequestBody<'_>> ) -> Pin<Box<dyn Future<Output = Result<Response<AsyncResponseBody>, Error>> + Send + 'a, Global>>

source§

impl HttpCaller for AsyncClient

source§

fn call<'a>( &'a self, _request: &'a mut Request<'_, RequestBody<'_>> ) -> Result<Response<ResponseBody>, Error>

source§

fn async_call<'a>( &'a self, request: &'a mut Request<'_, AsyncRequestBody<'_>> ) -> Pin<Box<dyn Future<Output = Result<Response<AsyncResponseBody>, Error>> + Send + 'a, Global>>

source§

impl HttpCaller for SyncClient

source§

fn call<'a>( &'a self, request: &'a mut Request<'_, RequestBody<'_>> ) -> Result<Response<ResponseBody>, Error>

source§

fn async_call<'a>( &'a self, _request: &'a mut Request<'_, AsyncRequestBody<'_>> ) -> Pin<Box<dyn Future<Output = Result<Response<AsyncResponseBody>, Error>> + Send + 'a, Global>>

Implementors§