diff --git a/src/backend/mod.rs b/src/backend/mod.rs index fd0b60d..0cc037e 100644 --- a/src/backend/mod.rs +++ b/src/backend/mod.rs @@ -17,7 +17,8 @@ use tokio_rustls::rustls::{ pub use upstream::{ReverseProxy, Upstream, UpstreamGroup}; pub use upstream_opts::UpstreamOption; -// server name (hostname or ip address) and path name representation in backends +// Server name (hostname or ip address) and path name representation in backends +// For searching hashmap or key list by exact or longest-prefix matching pub type ServerNameExp = Vec; // lowercase ascii bytes pub type PathNameExp = Vec; // lowercase ascii bytes @@ -111,7 +112,7 @@ impl Backend { /// HashMap and some meta information for multiple Backend structs. pub struct Backends { pub apps: HashMap, // hyper::uriで抜いたhostで引っ掛ける - pub default_server_name: Option, // for plaintext http + pub default_server_name_bytes: Option, // for plaintext http } impl Backends { diff --git a/src/config/parse.rs b/src/config/parse.rs index 19b080f..7be29ee 100644 --- a/src/config/parse.rs +++ b/src/config/parse.rs @@ -150,7 +150,7 @@ pub fn parse_opts(globals: &mut Globals) -> std::result::Result<(), anyhow::Erro "Serving plaintext http for requests to unconfigured server_name by app {} (server_name: {}).", d, d_sn[0] ); - globals.backends.default_server_name = Some(d_sn[0].as_bytes().to_vec()); + globals.backends.default_server_name_bytes = Some(d_sn[0].as_bytes().to_vec()); } } diff --git a/src/handler/handler_main.rs b/src/handler/handler_main.rs index 045b190..f371cf8 100644 --- a/src/handler/handler_main.rs +++ b/src/handler/handler_main.rs @@ -62,7 +62,7 @@ where // Find backend application for given server_name, and drop if incoming request is invalid as request. let backend = if let Some(be) = self.globals.backends.apps.get(&server_name_bytes) { be - } else if let Some(default_server_name) = &self.globals.backends.default_server_name { + } else if let Some(default_server_name) = &self.globals.backends.default_server_name_bytes { debug!("Serving by default app"); self.globals.backends.apps.get(default_server_name).unwrap() } else { diff --git a/src/main.rs b/src/main.rs index b69acd6..32703a2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -71,7 +71,7 @@ fn main() { runtime_handle: runtime.handle().clone(), backends: Backends { - default_server_name: None, + default_server_name_bytes: None, apps: HashMap::::default(), },