pub trait HttpClient: Debug {
// Required methods
fn request_builder(&self, method: Method, url: Url) -> RequestBuilder;
fn send<'life0, 'async_trait>(
&'life0 self,
req: RequestBuilder,
) -> Pin<Box<dyn Future<Output = Result<Response>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Expand description
Abstracts the implementation used for actual requests.
This is used for testing purposes such that we don’t need to run an actual server instance but instead directly call into the axum router
Required Methods§
fn request_builder(&self, method: Method, url: Url) -> RequestBuilder
fn send<'life0, 'async_trait>(
&'life0 self,
req: RequestBuilder,
) -> Pin<Box<dyn Future<Output = Result<Response>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".