pub trait HttpClient: Sync {
    type RequestBody: Default + BufMut + Send;
    type ResponseBody: AsRef<[u8]>;
    type Error: Send + Unpin;

    // Required method
    fn send_http_request(
        &self,
        req: Request<Self::RequestBody>
    ) -> impl Future<Output = Result<Response<Self::ResponseBody>, Self::Error>> + Send;
}
Expand description

An HTTP client that can be used to send requests to a Matrix homeserver.

Required Associated Types§

source

type RequestBody: Default + BufMut + Send

The type to use for try_into_http_request.

source

type ResponseBody: AsRef<[u8]>

The type to use for try_from_http_response.

source

type Error: Send + Unpin

The error type for the send_request function.

Required Methods§

source

fn send_http_request( &self, req: Request<Self::RequestBody> ) -> impl Future<Output = Result<Response<Self::ResponseBody>, Self::Error>> + Send

Send an http::Request to get back an http::Response.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<C> HttpClient for Client<C>
where C: Connect + Clone + Send + Sync + 'static,

Available on crate feature hyper only.

Implementors§

source§

impl HttpClient for Isahc

Available on crate feature isahc only.
source§

impl HttpClient for Reqwest

Available on crate feature reqwest only.