Trait HttpCaller

Source
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>>;

    // 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>>

异步发送 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 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>>

Source§

fn is_resolved_ip_addrs_supported(&self) -> bool

Source§

fn is_response_metrics_supported(&self) -> bool

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>>

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>>

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>>

Source§

impl<'b, T> HttpCaller for &'b T
where 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>>

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 T
where 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>>

Source§

fn is_resolved_ip_addrs_supported(&self) -> bool

Source§

fn is_response_metrics_supported(&self) -> bool

Source§

impl<T> HttpCaller for Box<T>
where T: HttpCaller + ?Sized, Box<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>>

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>>

Source§

fn is_resolved_ip_addrs_supported(&self) -> bool

Source§

fn is_response_metrics_supported(&self) -> bool

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>>

Source§

fn is_resolved_ip_addrs_supported(&self) -> bool

Source§

fn is_response_metrics_supported(&self) -> bool

Implementors§