From 3046ea6d975bfc197236240e5d141961b6cebb6e Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Wed, 24 Apr 2024 00:05:48 +0200 Subject: [PATCH] Fix: Bug with file names --- src/search_result.rs | 10 +++++++++- src/server.rs | 14 +++++--------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/search_result.rs b/src/search_result.rs index bd35e19..e911547 100644 --- a/src/search_result.rs +++ b/src/search_result.rs @@ -21,8 +21,16 @@ impl SearchResult { } impl From<&File> for SearchResult { fn from(file: &File) -> Self { + let name = file + .filename + .split('.') + .next() + .ok_or(file.filename.clone()) + .unwrap() + .to_string(); + Self { - name: file.filename.clone(), + name, modified: file.last_modified.clone(), size: file.filesize, } diff --git a/src/server.rs b/src/server.rs index 05b2919..38ff286 100644 --- a/src/server.rs +++ b/src/server.rs @@ -67,7 +67,7 @@ fn search_to_html(results: Vec) -> String { .iter() .map(|res| res.to_html()) .collect::>() - .join("\n"); + .join(" \n"); let body = format!( "
Yay, found the following {} lists!
    {}
", results.len(), @@ -75,6 +75,7 @@ fn search_to_html(results: Vec) -> String { ); HTML_TEMPLATE.replace("{body}", &body) } + fn redirect(req: &Request) -> Response { info!("Redirecting request: {:?}", req); @@ -96,18 +97,13 @@ fn redirect(req: &Request) -> Response { }; let Some(first) = response.get(0) else { - error!("No search results"); + error!("No search results. Should not happen because we checked before!"); return Response::text("Could not find any awesome page to redirect you to :()") .with_status_code(404); }; - let Some(name) = first.name.split('.').next() else { - error!("Error getting name from response!"); - return Response::text("No fitting awesome list found :(").with_status_code(404); - }; - - info!("Redirecting to: /{}", name); - Response::redirect_303(format!("/{}", name)) + info!("Redirecting to: /{}", first.name); + Response::redirect_303(format!("/{}", first.name)) } fn query_elastic_search(query: String) -> Result, Box> {