pub trait Api {
    fn client(&self) -> &Client;

    fn pre_request(&self, request: RequestBuilder) -> Result<RequestBuilder> { ... }
}

Required Methods

Returns a reqwest client to handle http/s requests.

Provided Methods

Handle pre-request logic.

Authentication Example
use api_client::{api, Api};
use reqwest::{Client, RequestBuilder};

struct ExampleApi {
    client: Client,
    username: String,
    password: String
}

impl Api for ExampleApi {
    fn client(&self) -> &Client {
        &self.client
    }

    fn pre_request(&self, request: RequestBuilder) -> reqwest::Result<RequestBuilder> {
        Ok(request.basic_auth(&self.username, Some(&self.password)))
    }
}

impl ExampleApi {
    api! {
        fn example() -> String {
           GET "https://example.com"
        }
    }
}

Implementors