manaba_sdk/
client.rs

1use reqwest::{IntoUrl, Method, RequestBuilder, header::HeaderMap};
2
3pub struct Client {
4    pub base_url: String,
5    pub(crate) reqwest_client: reqwest::Client,
6    pub(crate) headers: HeaderMap,
7}
8
9impl Client {
10    pub fn new(base_url: &str, cookie: &str) -> Self {
11        let reqwest_client = reqwest::Client::builder().build().unwrap();
12
13        let headers = {
14            let mut headers = reqwest::header::HeaderMap::new();
15            headers.insert("Cookie", cookie.parse().unwrap());
16            headers
17        };
18
19        Client {
20            base_url: base_url.to_owned(),
21            reqwest_client,
22            headers,
23        }
24    }
25
26    pub(crate) fn request(&self, method: Method, url: impl IntoUrl) -> RequestBuilder {
27        self.reqwest_client
28            .request(method, url)
29            .headers(self.headers.clone())
30    }
31}