1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
use reqwest::{Client, RequestBuilder}; #[derive(Debug, Clone)] pub struct LTAClient { api_key: Option<String>, client: Client, } impl LTAClient { pub fn new(api_key: Option<String>, client: Client) -> Self { LTAClient { api_key, client } } pub fn with_api_key<S>(api_key: S) -> Self where S: Into<String>, { let api_key = api_key.into(); let api_opt = if api_key.is_empty() { None } else { Some(api_key) }; LTAClient { api_key: api_opt, client: Client::new(), } } pub fn get_req_builder(&self, url: &str) -> RequestBuilder { match &self.api_key { Some(s) => self.client.get(url).header("AccountKey", s.as_str()), None => panic!("API key not init!"), } } }