HttpClientExt

Trait HttpClientExt 

Source
pub trait HttpClientExt: WasmCompatSend + WasmCompatSync {
    // Required methods
    fn send<T, U>(
        &self,
        req: Request<T>,
    ) -> impl Future<Output = Result<Response<LazyBody<U>>>> + WasmCompatSend + 'static
       where T: Into<Bytes> + WasmCompatSend,
             U: From<Bytes> + WasmCompatSend + 'static;
    fn send_multipart<U>(
        &self,
        req: Request<Form>,
    ) -> impl Future<Output = Result<Response<LazyBody<U>>>> + WasmCompatSend + 'static
       where U: From<Bytes> + WasmCompatSend + 'static;
    fn send_streaming<T>(
        &self,
        req: Request<T>,
    ) -> impl Future<Output = Result<StreamingResponse<BoxedStream>>> + WasmCompatSend
       where T: Into<Bytes>;
}
Expand description

A helper trait to make generic requests (both regular and SSE) possible.

Required Methods§

Source

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

Send a HTTP request, get a response back (as bytes). Response must be able to be turned back into Bytes.

Source

fn send_multipart<U>( &self, req: Request<Form>, ) -> impl Future<Output = Result<Response<LazyBody<U>>>> + WasmCompatSend + 'static
where U: From<Bytes> + WasmCompatSend + 'static,

Send a HTTP request with a multipart body, get a response back (as bytes). Response must be able to be turned back into Bytes (although usually for the response, you will probably want to specify Bytes anyway).

Source

fn send_streaming<T>( &self, req: Request<T>, ) -> impl Future<Output = Result<StreamingResponse<BoxedStream>>> + WasmCompatSend
where T: Into<Bytes>,

Send a HTTP request, get a streamed response back (as a stream of bytes::Bytes.)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl HttpClientExt for Client

Source§

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

Source§

fn send_multipart<U>( &self, req: Request<Form>, ) -> impl Future<Output = Result<Response<LazyBody<U>>>> + WasmCompatSend + 'static
where U: From<Bytes> + WasmCompatSend + 'static,

Source§

fn send_streaming<T>( &self, req: Request<T>, ) -> impl Future<Output = Result<StreamingResponse<BoxedStream>>> + WasmCompatSend
where T: Into<Bytes>,

Implementors§