From a9e50fda5d73147f5ba4c38bfac6a8635b436fba Mon Sep 17 00:00:00 2001 From: monosans Date: Fri, 15 Aug 2025 12:06:00 +0300 Subject: [PATCH] reduce string allocations --- src/proxy.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/proxy.rs b/src/proxy.rs index ec3e805..d67c5b8 100644 --- a/src/proxy.rs +++ b/src/proxy.rs @@ -26,11 +26,14 @@ impl FromStr for ProxyType { type Err = crate::Error; fn from_str(s: &str) -> Result { - match s.to_ascii_lowercase().as_str() { - "http" | "https" => Ok(Self::Http), - "socks4" => Ok(Self::Socks4), - "socks5" => Ok(Self::Socks5), - _ => Err(eyre!("failed to convert {s} to ProxyType")), + if s.eq_ignore_ascii_case("http") || s.eq_ignore_ascii_case("https") { + Ok(Self::Http) + } else if s.eq_ignore_ascii_case("socks4") { + Ok(Self::Socks4) + } else if s.eq_ignore_ascii_case("socks5") { + Ok(Self::Socks5) + } else { + Err(eyre!("failed to convert {s} to ProxyType")) } } }