From ccfbaf87428a27d139b95ec6ae5a872e9a85ea20 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Tue, 14 Jan 2025 08:06:15 +0000 Subject: refactor(url): simplify approach --- src/url.rs | 98 +++++++++++++++++++++++++++++--------------------------------- 1 file changed, 46 insertions(+), 52 deletions(-) diff --git a/src/url.rs b/src/url.rs index f6863a5..289c5cb 100644 --- a/src/url.rs +++ b/src/url.rs @@ -5,61 +5,55 @@ pub fn from_path( fallback: bool, configuration: &mut crate::response::configuration::Configuration, ) -> Result { - Ok( - #[allow(clippy::blocks_in_conditions)] - match Url::try_from(&*if path.starts_with("/proxy") { - configuration.set_proxy(true); + Url::try_from(&*if path.starts_with("/proxy") { + configuration.set_proxy(true); - format!( - "gemini://{}{}", - path.replace("/proxy/", ""), - if fallback { "/" } else { "" } - ) - } else if path.starts_with("/x") { - configuration.set_proxy(true); + format!( + "gemini://{}{}", + path.replace("/proxy/", ""), + if fallback { "/" } else { "" } + ) + } else if path.starts_with("/x") { + configuration.set_proxy(true); - format!( - "gemini://{}{}", - path.replace("/x/", ""), - if fallback { "/" } else { "" } - ) - } else if path.starts_with("/raw") { - configuration.set_proxy(true); - configuration.set_raw(true); + format!( + "gemini://{}{}", + path.replace("/x/", ""), + if fallback { "/" } else { "" } + ) + } else if path.starts_with("/raw") { + configuration.set_proxy(true); + configuration.set_raw(true); - format!( - "gemini://{}{}", - path.replace("/raw/", ""), - if fallback { "/" } else { "" } - ) - } else if path.starts_with("/nocss") { - configuration.set_proxy(true); - configuration.set_no_css(true); + format!( + "gemini://{}{}", + path.replace("/raw/", ""), + if fallback { "/" } else { "" } + ) + } else if path.starts_with("/nocss") { + configuration.set_proxy(true); + configuration.set_no_css(true); - format!( - "gemini://{}{}", - path.replace("/nocss/", ""), - if fallback { "/" } else { "" } - ) - } else { - format!( - "{}{}{}", - { - std::env::var("ROOT").unwrap_or_else(|_| { - warn!( - "could not use ROOT from environment variables, proceeding with \ - default root: gemini://fuwn.me" - ); + format!( + "gemini://{}{}", + path.replace("/nocss/", ""), + if fallback { "/" } else { "" } + ) + } else { + format!( + "{}{}{}", + { + std::env::var("ROOT").unwrap_or_else(|_| { + warn!( + "could not use ROOT from environment variables, proceeding with \ + default root: gemini://fuwn.me" + ); - "gemini://fuwn.me".to_string() - }) - }, - path, - if fallback { "/" } else { "" } - ) - }) { - Ok(url) => url, - Err(e) => return Err(e), - }, - ) + "gemini://fuwn.me".to_string() + }) + }, + path, + if fallback { "/" } else { "" } + ) + }) } -- cgit v1.2.3