From 994e1d12a7e1166841753338eb8ca8f2199195ef Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Thu, 12 Feb 2026 09:01:46 +0000 Subject: [PATCH] Optimize various case-insensitive comparisons. Signed-off-by: Jason Volk --- src/api/client/state.rs | 4 ++-- src/service/media/preview.rs | 2 +- src/service/oauth/providers.rs | 8 ++++---- src/service/pusher/mod.rs | 2 +- src/service/pusher/send.rs | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/api/client/state.rs b/src/api/client/state.rs index 1e6b56ea..cb135ec1 100644 --- a/src/api/client/state.rs +++ b/src/api/client/state.rs @@ -133,8 +133,8 @@ pub(crate) async fn get_state_events_for_key_route( let event_format = body .format - .as_ref() - .is_some_and(|f| f.to_lowercase().eq("event")); + .as_deref() + .is_some_and(|f| f.eq_ignore_ascii_case("event")); Ok(get_state_event_for_key::v3::Response { content: event_format.or(|| event.get_content_as_value()), diff --git a/src/service/media/preview.rs b/src/service/media/preview.rs index 06c0be96..fb0edc35 100644 --- a/src/service/media/preview.rs +++ b/src/service/media/preview.rs @@ -224,7 +224,7 @@ async fn download_html(&self, _url: &str) -> Result { pub fn url_preview_allowed(&self, url: &Url) -> bool { if ["http", "https"] .iter() - .all(|&scheme| scheme != url.scheme().to_lowercase()) + .all(|&scheme| !scheme.eq_ignore_ascii_case(url.scheme())) { debug!("Ignoring non-HTTP/HTTPS URL to preview: {}", url); return false; diff --git a/src/service/oauth/providers.rs b/src/service/oauth/providers.rs index 4559260e..39f3170a 100644 --- a/src/service/oauth/providers.rs +++ b/src/service/oauth/providers.rs @@ -69,11 +69,11 @@ pub fn get_config(&self, id: &str) -> Result { if let Some(provider) = providers .values() - .find(|config| config.brand == id.to_lowercase()) + .find(|config| config.brand.eq_ignore_ascii_case(id)) .filter(|_| { providers .values() - .filter(|config| config.brand == id.to_lowercase()) + .filter(|config| config.brand.eq_ignore_ascii_case(id)) .count() .eq(&1) }) @@ -97,11 +97,11 @@ async fn get_cached(&self, id: &str) -> Option { providers .values() - .find(|provider| provider.brand == id.to_lowercase()) + .find(|provider| provider.brand.eq_ignore_ascii_case(id)) .filter(|_| { providers .values() - .filter(|provider| provider.brand == id.to_lowercase()) + .filter(|provider| provider.brand.eq_ignore_ascii_case(id)) .count() .eq(&1) }) diff --git a/src/service/pusher/mod.rs b/src/service/pusher/mod.rs index 46b6a39f..da2cccec 100644 --- a/src/service/pusher/mod.rs +++ b/src/service/pusher/mod.rs @@ -104,7 +104,7 @@ pub async fn set_pusher( if ["http", "https"] .iter() - .all(|&scheme| scheme != url.scheme().to_lowercase()) + .all(|&scheme| !scheme.eq_ignore_ascii_case(url.scheme())) { return Err!(Request(InvalidParam( warn!(%url, "HTTP pusher URL is not a valid HTTP/HTTPS URL") diff --git a/src/service/pusher/send.rs b/src/service/pusher/send.rs index 7a0635f2..7187611e 100644 --- a/src/service/pusher/send.rs +++ b/src/service/pusher/send.rs @@ -97,7 +97,7 @@ async fn send_notice( if ["http", "https"] .iter() - .all(|&scheme| scheme != url.scheme().to_lowercase()) + .all(|&scheme| !scheme.eq_ignore_ascii_case(url.scheme())) { return Err!(Request(InvalidParam( warn!(%url, "HTTP pusher URL is not a valid HTTP/HTTPS URL")