From 78a084380a1c7e52962b5ee1d220f2aa96ab6168 Mon Sep 17 00:00:00 2001 From: Ara Sadoyan Date: Wed, 28 May 2025 14:54:01 +0200 Subject: [PATCH] Name and config changes --- README.md | 2 +- src/utils/parceyaml.rs | 4 ++-- src/utils/structs.rs | 4 ++-- src/web/bgservice.rs | 2 +- src/web/proxyhttp.rs | 9 +-------- src/web/start.rs | 2 +- 6 files changed, 8 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 0a76951..2224dd3 100644 --- a/README.md +++ b/README.md @@ -124,7 +124,7 @@ A sample `upstreams.yaml` entry: ```yaml provider: "file" sticky_sessions: false -to_ssl: false +to_https: false headers: - "Access-Control-Allow-Origin:*" - "Access-Control-Allow-Methods:POST, GET, OPTIONS" diff --git a/src/utils/parceyaml.rs b/src/utils/parceyaml.rs index fb1d184..4a4754c 100644 --- a/src/utils/parceyaml.rs +++ b/src/utils/parceyaml.rs @@ -14,7 +14,7 @@ pub fn load_configuration(d: &str, kind: &str) -> Option { typecfg: "".to_string(), extraparams: Extraparams { sticky_sessions: false, - to_ssl: None, + to_https: None, authentication: DashMap::new(), }, }; @@ -57,7 +57,7 @@ pub fn load_configuration(d: &str, kind: &str) -> Option { toreturn.headers.insert("GLOBAL_HEADERS".to_string(), global_headers); toreturn.extraparams.sticky_sessions = parsed.sticky_sessions; - toreturn.extraparams.to_ssl = parsed.to_ssl; + toreturn.extraparams.to_https = parsed.to_https; } if let Some(auth) = &parsed.authorization { let name = auth.get("type").unwrap().to_string(); diff --git a/src/utils/structs.rs b/src/utils/structs.rs index 21f9d2f..6a50982 100644 --- a/src/utils/structs.rs +++ b/src/utils/structs.rs @@ -17,7 +17,7 @@ pub struct ServiceMapping { #[derive(Clone, Debug)] pub struct Extraparams { pub sticky_sessions: bool, - pub to_ssl: Option, + pub to_https: Option, pub authentication: DashMap>, } @@ -31,7 +31,7 @@ pub struct Consul { pub struct Config { pub provider: String, pub sticky_sessions: bool, - pub to_ssl: Option, + pub to_https: Option, pub upstreams: Option>, pub globals: Option>>, pub headers: Option>, diff --git a/src/web/bgservice.rs b/src/web/bgservice.rs index 852d18c..96565aa 100644 --- a/src/web/bgservice.rs +++ b/src/web/bgservice.rs @@ -57,7 +57,7 @@ impl BackgroundService for LB { let current = self.extraparams.load_full(); let mut new = (*current).clone(); new.sticky_sessions = ss.extraparams.sticky_sessions; - new.to_ssl = ss.extraparams.to_ssl; + new.to_https = ss.extraparams.to_https; new.authentication = ss.extraparams.authentication.clone(); self.extraparams.store(Arc::new(new)); self.headers.clear(); diff --git a/src/web/proxyhttp.rs b/src/web/proxyhttp.rs index 2fe8e21..1c2a8cb 100644 --- a/src/web/proxyhttp.rs +++ b/src/web/proxyhttp.rs @@ -86,7 +86,7 @@ impl ProxyHttp for LB { peer.options.verify_hostname = false; } // println!("{}, {}, alpn {}, h2 {:?}, to_https {}", hostname, address.as_str(), peer.options.alpn, is_h2, _to_https); - if self.extraparams.load().to_ssl.unwrap_or(false) || to_https { + if self.extraparams.load().to_https.unwrap_or(false) || to_https { if let Some(stream) = session.stream() { if stream.get_ssl().is_none() { if let Some(addr) = session.server_addr() { @@ -142,22 +142,15 @@ impl ProxyHttp for LB { if self.extraparams.load().sticky_sessions { let backend_id = ctx.backend_id.clone(); if let Some(bid) = self.ump_byid.get(&backend_id) { - // let _ = _upstream_response.insert_header("set-cookie", format!("backend {}", bid.0)); let _ = _upstream_response.insert_header("set-cookie", format!("backend_id={}; Path=/; Max-Age=600; HttpOnly; SameSite=Lax", bid.0)); } } - if ctx.to_https { - // println!("{} => {}", ctx.to_https, ctx.redirect_to); let mut redirect_response = ResponseHeader::build(StatusCode::MOVED_PERMANENTLY, None)?; redirect_response.insert_header("Location", ctx.redirect_to.clone())?; redirect_response.insert_header("Content-Length", "0")?; session.write_response_header(Box::new(redirect_response), false).await?; - // return Ok(()); - // let response = session.write_response_header(Box::new(redirect_response), false).await?; - // return Ok(response); } - match return_header_host(&session) { Some(host) => { let path = session.req_header().uri.path(); diff --git a/src/web/start.rs b/src/web/start.rs index 5d6566a..09aef49 100644 --- a/src/web/start.rs +++ b/src/web/start.rs @@ -24,7 +24,7 @@ pub fn run() { let hh_config = Arc::new(DashMap::new()); let ec_config = Arc::new(ArcSwap::from_pointee(Extraparams { sticky_sessions: false, - to_ssl: None, + to_https: None, authentication: DashMap::new(), }));