arangors_graph_exporter/client/
config.rs1#[derive(Debug)]
2pub struct ClientConfig {
3 pub n_retries: u32,
4 pub tls_cert: Option<String>,
5 pub use_tls: bool,
6}
7
8impl ClientConfig {
9 pub fn builder() -> ClientConfigBuilder {
10 ClientConfigBuilder::new()
11 }
12}
13
14pub struct ClientConfigBuilder {
15 use_tls: bool,
16 tls_cert: Option<String>,
17 n_retries: Option<u32>,
18}
19
20impl Default for ClientConfigBuilder {
21 fn default() -> Self {
22 Self::new()
23 }
24}
25
26impl ClientConfigBuilder {
27 pub fn new() -> ClientConfigBuilder {
28 ClientConfigBuilder {
29 n_retries: None,
30 tls_cert: None,
31 use_tls: false,
32 }
33 }
34
35 pub fn n_retries(mut self, n: u32) -> ClientConfigBuilder {
36 self.n_retries = Some(n);
37 self
38 }
39
40 pub fn tls_cert_opt(mut self, cert: Option<String>) -> ClientConfigBuilder {
41 self.tls_cert = cert;
42 self
43 }
44
45 pub fn use_tls(mut self, use_tls: bool) -> ClientConfigBuilder {
46 self.use_tls = use_tls;
47 self
48 }
49
50 pub fn build(self) -> ClientConfig {
51 ClientConfig {
52 n_retries: self.n_retries.unwrap_or(5), tls_cert: self.tls_cert,
54 use_tls: self.use_tls,
55 }
56 }
57}