make shortlinks case insensitive

This commit is contained in:
2026-05-09 23:00:15 +01:00
parent c270565f96
commit aebd192f25
2 changed files with 25 additions and 3 deletions

View File

@@ -46,6 +46,7 @@ async fn process_socket(mut socket: BufStream<TcpStream>, urlmap: Arc<HashMap<St
simple_response(socket, ResponseCode::BadRequest).await;
return;
};
let path = path.to_lowercase();
if http_method != "GET" {
println!("process_request: forbidden method");
@@ -53,7 +54,7 @@ async fn process_socket(mut socket: BufStream<TcpStream>, urlmap: Arc<HashMap<St
return;
}
let Some(location) = urlmap.get(path) else {
let Some(location) = urlmap.get(&path) else {
println!("process_request: not found");
simple_response(socket, ResponseCode::NotFound).await;
return;
@@ -114,7 +115,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
Err(format!("Unable to parse line: '{}'", url_pair))?
};
urlmap.insert(slug.to_string(), redirect.to_string());
urlmap.insert(slug.to_lowercase(), redirect.to_string());
}
let urlmap = Arc::new(urlmap);