ApiHttpClient

Trait ApiHttpClient 

Source
pub trait ApiHttpClient:
    Send
    + Sync
    + 'static {
    // Required methods
    fn send_request<ResponseT: Send + DeserializeOwned>(
        &self,
        uri: String,
        method: Method,
    ) -> impl Future<Output = Result<ResponseT, Report<ApiClientError>>> + Send;
    fn send_request_with_params<ResponseT: DeserializeOwned + Send, ParamsT: Iterator<Item = (String, String)> + Send>(
        &self,
        uri: String,
        params: ParamsT,
        method: Method,
    ) -> impl Future<Output = Result<ResponseT, Report<ApiClientError>>> + Send;
    fn send_request_body<RequestT: Serialize + Send, ResponseT: DeserializeOwned + Send>(
        &self,
        uri: String,
        method: Method,
        request_body: RequestT,
    ) -> impl Future<Output = Result<ResponseT, Report<ApiClientError>>> + Send;
    fn send_request_body_get_bytes<RequestT: Serialize + Send>(
        &self,
        uri: String,
        method: Method,
        request_body: RequestT,
    ) -> impl Future<Output = Result<Bytes, Report<ApiClientError>>> + Send;
    fn send_request_body_empty_response<RequestT: Serialize + Send>(
        &self,
        uri: String,
        method: Method,
        request_body: RequestT,
    ) -> impl Future<Output = Result<(), Report<ApiClientError>>> + Send;
}

Required Methods§

Source

fn send_request<ResponseT: Send + DeserializeOwned>( &self, uri: String, method: Method, ) -> impl Future<Output = Result<ResponseT, Report<ApiClientError>>> + Send

Source

fn send_request_with_params<ResponseT: DeserializeOwned + Send, ParamsT: Iterator<Item = (String, String)> + Send>( &self, uri: String, params: ParamsT, method: Method, ) -> impl Future<Output = Result<ResponseT, Report<ApiClientError>>> + Send

Source

fn send_request_body<RequestT: Serialize + Send, ResponseT: DeserializeOwned + Send>( &self, uri: String, method: Method, request_body: RequestT, ) -> impl Future<Output = Result<ResponseT, Report<ApiClientError>>> + Send

Source

fn send_request_body_get_bytes<RequestT: Serialize + Send>( &self, uri: String, method: Method, request_body: RequestT, ) -> impl Future<Output = Result<Bytes, Report<ApiClientError>>> + Send

Source

fn send_request_body_empty_response<RequestT: Serialize + Send>( &self, uri: String, method: Method, request_body: RequestT, ) -> impl Future<Output = Result<(), Report<ApiClientError>>> + Send

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.

Implementors§