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;
}

Required Methods§

source

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,

source

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,

source

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,

source

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,

source

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,

Implementors§

source§

impl<CredentialSourceT> ApiHttpClient for HyperApiClient<CredentialSourceT>
where CredentialSourceT: Credentials + Send + Sync + 'static,