binance/spot/http/
config.rs1use reqwest::header::HeaderMap;
2
3use crate::SensitiveString;
4
5#[derive(Debug, Clone)]
6pub struct PublicConfig {
7 pub base_url: String,
8 pub headers: Option<HeaderMap>,
9}
10
11impl PublicConfig {
12 pub fn new(base_url: impl Into<String>) -> Self {
13 Self {
14 base_url: base_url.into(),
15 headers: None,
16 }
17 }
18
19 pub fn headers(mut self, headers: Option<HeaderMap>) -> Self {
20 if let Some(headers) = headers {
21 self.headers
22 .get_or_insert_with(HeaderMap::new)
23 .extend(headers);
24 }
25
26 self
27 }
28}
29
30#[derive(Debug, Clone)]
31pub struct PrivateConfig {
32 pub base_url: String,
33 pub api_key: SensitiveString,
34 pub api_secret: SensitiveString,
35 pub headers: Option<HeaderMap>,
36}
37
38impl PrivateConfig {
39 pub fn new(
40 base_url: impl Into<String>,
41 api_key: SensitiveString,
42 api_secret: SensitiveString,
43 ) -> Self {
44 Self {
45 base_url: base_url.into(),
46 api_key,
47 api_secret,
48 headers: None,
49 }
50 }
51
52 pub fn headers(mut self, headers: Option<HeaderMap>) -> Self {
53 if let Some(headers) = headers {
54 self.headers
55 .get_or_insert_with(HeaderMap::new)
56 .extend(headers);
57 }
58
59 self
60 }
61}