From 19d2a790a53265c001c5359cf82d9bfcea7f9c2b Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Tue, 23 Apr 2024 17:14:58 +0200 Subject: [PATCH] Add nice html formatting for search --- src/server.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/server.rs b/src/server.rs index 208bf24..7068b0b 100644 --- a/src/server.rs +++ b/src/server.rs @@ -56,8 +56,21 @@ fn search(req: &Request) -> Response { } }; + if let Some(_) = req.get_param("pretty") { + return Response::html(search_to_html(response)).with_status_code(200); + } Response::json(&response).with_status_code(200) } + +fn search_to_html(results: Vec) -> String { + let res_html = results + .iter() + .map(|res| res.to_html()) + .collect::>() + .join("\n"); + let body = format!("
    {}
", res_html); + HTML_TEMPLATE.replace("{body}", &body) +} fn redirect(req: &Request) -> Response { info!("Redirecting request: {:?}", req); @@ -184,3 +197,19 @@ mod test { } } } + +static HTML_TEMPLATE: &'static str = r#" + + + + + + + AWESM Search Results + + + + {body} + + +"#;