diff options
Diffstat (limited to 'common/rust/src/nats.rs')
| -rw-r--r-- | common/rust/src/nats.rs | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/common/rust/src/nats.rs b/common/rust/src/nats.rs index 59b480c..c61aa4c 100644 --- a/common/rust/src/nats.rs +++ b/common/rust/src/nats.rs @@ -1,34 +1,34 @@ -use nats::{Options, Connection}; +use nats::{Connection, Options}; use serde::Deserialize; #[derive(Clone, Debug, Deserialize)] -struct NatsConfigurationClientCert { - cert: String, - key: String +pub struct NatsConfigurationClientCert { + pub cert: String, + pub key: String, } #[derive(Clone, Debug, Deserialize)] -struct NatsConfigurationTls { - mtu: Option<usize>, +pub struct NatsConfigurationTls { + pub mtu: Option<usize>, } #[derive(Clone, Debug, Deserialize)] pub struct NatsConfiguration { - client_cert: Option<NatsConfigurationClientCert>, - root_cert: Option<Vec<String>>, - jetstream_api_prefix: Option<String>, - max_reconnects: Option<usize>, - reconnect_buffer_size: Option<usize>, - tls: Option<NatsConfigurationTls>, - client_name: Option<String>, - tls_required: Option<bool>, - host: String, + pub client_cert: Option<NatsConfigurationClientCert>, + pub root_cert: Option<Vec<String>>, + pub jetstream_api_prefix: Option<String>, + pub max_reconnects: Option<usize>, + pub reconnect_buffer_size: Option<usize>, + pub tls: Option<NatsConfigurationTls>, + pub client_name: Option<String>, + pub tls_required: Option<bool>, + pub host: String, } -/// +// Allows the configuration to directly create a nats connection impl Into<Connection> for NatsConfiguration { fn into(self) -> Connection { let mut options = Options::new(); - + if let Some(client_cert) = self.client_cert { options = options.client_cert(client_cert.cert, client_cert.key); } @@ -49,7 +49,6 @@ impl Into<Connection> for NatsConfiguration { options = options.tls_required(self.tls_required.unwrap_or(false)); options = options.with_name(&self.client_name.unwrap_or("Nova".to_string())); - if let Some(tls) = self.tls { let mut config = nats::rustls::ClientConfig::new(); config.set_mtu(&tls.mtu); |
