pub trait ApiHttpClient: Send + Sync {
// Required methods
fn send_request<'life0, 'life1, 'life2, 'async_trait, ResponseT>(
&'life0 self,
uri: Uri,
method: Method,
oauth_scopes: &'life1 [&'life2 str]
) -> Pin<Box<dyn Future<Output = Result<ResponseT, Report<ApiClientError>>> + Send + 'async_trait>>
where Self: Sized + Send + Sync + 'async_trait,
ResponseT: DeserializeOwned + Send + Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn send_request_with_params<'life0, 'life1, 'life2, 'async_trait, ResponseT, ParamsT>(
&'life0 self,
uri: Uri,
params: ParamsT,
method: Method,
oauth_scopes: &'life1 [&'life2 str]
) -> Pin<Box<dyn Future<Output = Result<ResponseT, Report<ApiClientError>>> + Send + 'async_trait>>
where Self: Sized + Send + Sync + 'async_trait,
ResponseT: DeserializeOwned + Send + Sync + 'async_trait,
ParamsT: Iterator<Item = (String, String)> + Send + Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn send_request_body<'life0, 'life1, 'life2, 'async_trait, RequestT, ResponseT>(
&'life0 self,
uri: Uri,
method: Method,
request_body: RequestT,
oauth_scopes: &'life1 [&'life2 str]
) -> Pin<Box<dyn Future<Output = Result<ResponseT, Report<ApiClientError>>> + Send + 'async_trait>>
where Self: Sized + Send + Sync + 'async_trait,
RequestT: Serialize + Send + Sync + 'async_trait,
ResponseT: DeserializeOwned + Send + Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn send_request_body_get_bytes<'life0, 'life1, 'life2, 'async_trait, RequestT>(
&'life0 self,
uri: Uri,
method: Method,
request_body: RequestT,
oauth_scopes: &'life1 [&'life2 str]
) -> Pin<Box<dyn Future<Output = Result<Bytes, Report<ApiClientError>>> + Send + 'async_trait>>
where Self: Sized + Send + Sync + 'async_trait,
RequestT: Serialize + Send + Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn send_request_body_empty_response<'life0, 'life1, 'life2, 'async_trait, RequestT>(
&'life0 self,
uri: Uri,
method: Method,
request_body: RequestT,
oauth_scopes: &'life1 [&'life2 str]
) -> Pin<Box<dyn Future<Output = Result<(), Report<ApiClientError>>> + Send + 'async_trait>>
where Self: Sized + Send + Sync + 'async_trait,
RequestT: Serialize + Send + Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
}