use reqwest::header::HeaderMap;
use reqwest::{Client, Url};
use crate::errors::ClientCreationError;
pub mod users;
pub mod models;
pub mod errors;
pub mod requests;
pub mod groups;
pub mod actions;
pub struct LuckClient {
base_url: Url,
client: Client,
}
impl LuckClient {
pub fn try_new(base_url: String, api_key: String) -> Result<Self, ClientCreationError> {
let url = Url::parse(&base_url)?;
let mut headers = HeaderMap::new();
headers.insert("X-API-KEY", api_key.parse().unwrap());
let client = reqwest::ClientBuilder::new()
.default_headers(headers).build()?;
Ok(LuckClient {
base_url: url,
client
})
}
}