From 3d69a6dd284225c075dde53fc53735d275707996 Mon Sep 17 00:00:00 2001 From: Karcsesz Date: Thu, 15 Feb 2024 11:36:13 +0100 Subject: [PATCH] Case-insensitivity should be handled by the lookup functions instead of the callers. Don't code on no sleep, folks --- src/editor/commands/query.rs | 2 +- src/schema/lookup_handler.rs | 3 ++- src/server/mod.rs | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/editor/commands/query.rs b/src/editor/commands/query.rs index ffee7f9..eae225b 100644 --- a/src/editor/commands/query.rs +++ b/src/editor/commands/query.rs @@ -4,7 +4,7 @@ use std::path::PathBuf; pub fn query(database_path: PathBuf, handle: String) { let data = LookupHandler::load(database_path).unwrap(); - let resource = data.lookup(handle.trim().to_lowercase().as_str()).unwrap(); + let resource = data.lookup(handle.trim()).unwrap(); serde_json::to_writer_pretty(stdout(), resource).unwrap(); println!() } diff --git a/src/schema/lookup_handler.rs b/src/schema/lookup_handler.rs index 6feb9f2..6054d16 100644 --- a/src/schema/lookup_handler.rs +++ b/src/schema/lookup_handler.rs @@ -65,7 +65,8 @@ impl LookupHandler { } pub fn lookup_with_index(&self, resource_query: &str) -> Option<(usize, &Resource)> { - let resource_index = *self.lookup.get(resource_query)?; + let resource_query = resource_query.to_lowercase(); + let resource_index = *self.lookup.get(resource_query.as_str())?; let found_resource = &self.resources.0[resource_index]; debug!("Lookup for {resource_query} returned {found_resource:?}"); Some((resource_index, found_resource)) diff --git a/src/server/mod.rs b/src/server/mod.rs index 478e3fa..811e7cf 100644 --- a/src/server/mod.rs +++ b/src/server/mod.rs @@ -111,7 +111,7 @@ async fn run_webfinger_query( let resource = datastore .read() .await - .lookup(resource_query.to_lowercase().as_str()) + .lookup(resource_query) .ok_or(StatusCode::NOT_FOUND)? .clone(); debug!("Found resource: {resource:?}");