sqlx_rxqlite/options/
mod.rs

1use rxqlite_common::RSQliteClientTlsConfig;
2
3#[derive(Debug, Clone , Default)]
4pub struct RXQLiteConnectOptions {
5    //pub(crate) inner: rxqlite::ConnectOptions,
6    //pub(crate) inner: rxqlite_client::RXQLiteClientBuilder,
7    
8    pub(crate) node_id: u64,
9    pub(crate) node_host: String,
10    pub(crate) node_port: u16,
11    pub(crate) tls_config: Option<RSQliteClientTlsConfig>,
12}
13
14impl RXQLiteConnectOptions {
15    pub fn node_id(mut self, node_id: u64) -> Self {
16        self.node_id = node_id;
17        self
18    }
19    pub fn host(mut self, host: &str) -> Self {
20        self.node_host = host.to_owned();
21        self
22    }
23    pub fn port(mut self, port: u16) -> Self {
24        self.node_port = port;
25        self
26    }
27
28    /*
29    pub fn user(mut self, user: Option<String>) -> Self {
30      self.inner.user = user;
31      self
32    }
33    pub fn password(mut self, pwd: Option<String>) -> Self {
34      self.inner.pass = pwd;
35      self
36    }
37    */
38    pub fn use_ssl(mut self, use_ssl: bool) -> Self {
39        if use_ssl {
40            //rxqlite::Scheme::HTTPS
41            self.tls_config = Some(Default::default());
42            self.tls_config
43                .as_mut()
44                .unwrap()
45                .accept_invalid_certificates = false;
46        } else {
47            self.tls_config = None;
48        }
49        self
50    }
51    pub fn use_insecure_ssl(mut self, use_insecure_ssl: bool) -> Self {
52        if self.tls_config.is_none() {
53            self.tls_config = Some(Default::default());
54        }
55        if use_insecure_ssl {
56            //self.scheme = rxqlite::Scheme::HTTPS;
57            self.tls_config
58                .as_mut()
59                .unwrap()
60                .accept_invalid_certificates = true;
61        } else {
62            self.tls_config
63                .as_mut()
64                .unwrap()
65                .accept_invalid_certificates = false;
66            //self.scheme = rxqlite::Scheme::HTTP;
67        }
68        self
69    }
70    pub fn add_cert_path(mut self, cert_path: String) -> Self {
71        if self.tls_config.is_none() {
72            self.tls_config = Some(Default::default());
73        }
74        self.tls_config
75            .as_mut()
76            .unwrap()
77            .cert_paths
78            .push(cert_path);
79        self
80    }
81    pub fn tls_config(mut self, tls_config: Option<RSQliteClientTlsConfig>) -> Self {
82        self.tls_config = tls_config;
83        self
84    }
85}
86
87pub mod connect;
88mod parse;