From 1aa97d6493418731c460024571fc3d77bddd9168 Mon Sep 17 00:00:00 2001 From: PinkP4nther <0x0090@protonmail.com> Date: Mon, 23 Aug 2021 08:40:10 -0700 Subject: [PATCH] Added Config structure option to configuration type --- examples/basic/src/main.rs | 12 ++++++++++-- src/lib.rs | 20 ++++++++++++-------- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/examples/basic/src/main.rs b/examples/basic/src/main.rs index 1fadada..991506e 100644 --- a/examples/basic/src/main.rs +++ b/examples/basic/src/main.rs @@ -1,4 +1,4 @@ -use sslrelay::{self, ConfigType, HandlerCallbacks}; +use sslrelay::{self, ConfigType, RelayConfig, HandlerCallbacks}; // Handler object @@ -37,7 +37,15 @@ fn main() { let mut relay = sslrelay::SSLRelay::new(Handler); // Load Configuration - relay.load_config(ConfigType::Default); + relay.load_config(ConfigType::Conf(RelayConfig { + bind_host: "0.0.0.0".to_string(), + bind_port: "443".to_string(), + remote_host: "remote.com".to_string(), + remote_port: "443".to_string(), + ssl_private_key_path: "./remote.com.key".to_string(), + ssl_cert_path: "./remote.com.crt".to_string(), + verbose_level: 2, + })); // Start listening relay.start(); diff --git a/src/lib.rs b/src/lib.rs index c925a9c..0354727 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -16,14 +16,14 @@ mod http; use http as http_helper; #[derive(Clone)] -struct RelayConfig { - bind_host: String, - bind_port: String, - remote_host: String, - remote_port: String, - ssl_private_key_path: String, - ssl_cert_path: String, - verbose_level: i8, +pub struct RelayConfig { + pub bind_host: String, + pub bind_port: String, + pub remote_host: String, + pub remote_port: String, + pub ssl_private_key_path: String, + pub ssl_cert_path: String, + pub verbose_level: i8, } pub trait HandlerCallbacks { @@ -36,6 +36,7 @@ pub trait HandlerCallbacks { pub enum ConfigType { Env, Path(T), + Conf(RelayConfig), Default, } @@ -117,6 +118,9 @@ impl SSLR } }; }, + ConfigType::Conf(conf) => { + return conf; + } ConfigType::Default => {} }