summaryrefslogtreecommitdiff
path: root/common/rust/src/nats.rs
diff options
context:
space:
mode:
Diffstat (limited to 'common/rust/src/nats.rs')
-rw-r--r--common/rust/src/nats.rs35
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);