Skip to main content

HttpClientExt

Trait HttpClientExt 

Source
pub trait HttpClientExt: WasmCompatSend + WasmCompatSync {
    // Required methods
    fn send<T, U>(
        &self,
        req: Request<T>,
    ) -> impl Future<Output = Result<Response<Pin<Box<dyn Future<Output = Result<U, Error>> + Send>>>, Error>> + WasmCompatSend + 'static
       where T: Into<Bytes> + WasmCompatSend,
             U: From<Bytes> + WasmCompatSend + 'static;
    fn send_multipart<U>(
        &self,
        req: Request<MultipartForm>,
    ) -> impl Future<Output = Result<Response<Pin<Box<dyn Future<Output = Result<U, Error>> + Send>>>, Error>> + WasmCompatSend + 'static
       where U: From<Bytes> + WasmCompatSend + 'static;
    fn send_streaming<T>(
        &self,
        req: Request<T>,
    ) -> impl Future<Output = Result<Response<Pin<Box<dyn WasmCompatSendStream<Item = Result<Bytes, Error>, InnerItem = Result<Bytes, Error>>>>>, Error>> + WasmCompatSend
       where T: Into<Bytes> + WasmCompatSend;
}
Expand description

An HTTP client Rig sends through: unary, multipart and streaming requests.

rig-reqwest’s ReqwestClient is the bundled implementation; a provider configuration takes any implementation with with_http(client).

Required Methods§

Source

fn send<T, U>( &self, req: Request<T>, ) -> impl Future<Output = Result<Response<Pin<Box<dyn Future<Output = Result<U, Error>> + Send>>>, Error>> + WasmCompatSend + 'static
where T: Into<Bytes> + WasmCompatSend, U: From<Bytes> + WasmCompatSend + 'static,

Sends a request and returns headers with a lazy body converted from bytes to U.

Source

fn send_multipart<U>( &self, req: Request<MultipartForm>, ) -> impl Future<Output = Result<Response<Pin<Box<dyn Future<Output = Result<U, Error>> + Send>>>, Error>> + WasmCompatSend + 'static
where U: From<Bytes> + WasmCompatSend + 'static,

Sends a multipart request and returns headers with a lazy body converted to U.

Source

fn send_streaming<T>( &self, req: Request<T>, ) -> impl Future<Output = Result<Response<Pin<Box<dyn WasmCompatSendStream<Item = Result<Bytes, Error>, InnerItem = Result<Bytes, Error>>>>>, Error>> + WasmCompatSend

Sends a request and returns headers with a stream of transport byte chunks.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl HttpClientExt for ReqwestClient

Source§

fn send<T, U>( &self, req: Request<T>, ) -> impl Future<Output = Result<Response<Pin<Box<dyn Future<Output = Result<U, Error>> + Send>>>, Error>> + WasmCompatSend + 'static
where T: Into<Bytes>, U: From<Bytes> + WasmCompatSend + 'static,

Source§

fn send_multipart<U>( &self, req: Request<MultipartForm>, ) -> impl Future<Output = Result<Response<Pin<Box<dyn Future<Output = Result<U, Error>> + Send>>>, Error>> + WasmCompatSend + 'static
where U: From<Bytes> + WasmCompatSend + 'static,

Source§

fn send_streaming<T>( &self, req: Request<T>, ) -> impl Future<Output = Result<Response<Pin<Box<dyn WasmCompatSendStream<Item = Result<Bytes, Error>, InnerItem = Result<Bytes, Error>>>>>, Error>> + WasmCompatSend

Implementors§