From f77664f417d614e5fa5eb10f36cf74e4160b9f25 Mon Sep 17 00:00:00 2001 From: doroved Date: Sat, 14 Dec 2024 08:56:26 +0300 Subject: [PATCH] Refactor config file handling in server module - Replace panic calls with error propagation when reading and parsing the config file in `src/server/mod.rs`. - Update variable naming for clarity by changing `proxy_config_arc` to `proxy_config`. --- src/server/mod.rs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/server/mod.rs b/src/server/mod.rs index 9ac00f3..8142d80 100644 --- a/src/server/mod.rs +++ b/src/server/mod.rs @@ -55,11 +55,9 @@ pub async fn run() -> Result<(), Box> { format!("{home_dir}/.proxer-cli/config.json5") }); - let config = fs::read_to_string(&config_path) - .unwrap_or_else(|_| panic!("Failed to read config file: {config_path}")); - let parsed_config: Vec = json5::from_str(&config) - .unwrap_or_else(|_| panic!("Failed to parse config file: {config_path}")); - let proxy_config_arc = Arc::new(parsed_config); + let config = fs::read_to_string(&config_path)?; + let parsed_config: Vec = json5::from_str(&config)?; + let proxy_config = Arc::new(parsed_config); let port = options.port.unwrap_or(5555); @@ -85,7 +83,7 @@ pub async fn run() -> Result<(), Box> { loop { let (stream, _) = listener.accept().await?; let io = TokioIo::new(stream); - let proxy_config = Arc::clone(&proxy_config_arc); + let proxy_config = Arc::clone(&proxy_config); let service = service_fn(move |req: Request| { let proxy_config = Arc::clone(&proxy_config);