From f06b84bf661b01b52c8d9830afb983567d1de530 Mon Sep 17 00:00:00 2001 From: Book-reader Date: Thu, 8 May 2025 20:11:15 +1200 Subject: [PATCH] a little cleanup --- asklyphe-frontend/src/bangs.rs | 10 +++------- asklyphe-frontend/src/routes/search.rs | 5 ++--- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/asklyphe-frontend/src/bangs.rs b/asklyphe-frontend/src/bangs.rs index 91b4828..16a444f 100644 --- a/asklyphe-frontend/src/bangs.rs +++ b/asklyphe-frontend/src/bangs.rs @@ -40,12 +40,7 @@ impl<'b> BangLoc<'_> { } } -#[derive(Debug)] -pub struct BangRedirect { - pub url: String -} - -pub fn redirect_bang(query: &String) -> Option { +pub fn redirect_bang(query: &String) -> Option { if !query.contains(BANG_PREFIX) { return None; } @@ -93,6 +88,7 @@ pub fn redirect_bang(query: &String) -> Option { let query_trimmed = format!("{}{}", query_split.0, query_split.1); + // A hack to get URL escaping without using a proper URL layout, hopefully has no other issues apart from prepending '=' to the string let query_encoded = url_encoded_data::stringify(&[("", query_trimmed.as_str())]); let query_encoded = query_encoded.get(1..query_encoded.len()).unwrap().to_owned(); @@ -106,5 +102,5 @@ pub fn redirect_bang(query: &String) -> Option { bang_url_split.1 ); - Some(BangRedirect{url: bang_url}) + Some(bang_url) } diff --git a/asklyphe-frontend/src/routes/search.rs b/asklyphe-frontend/src/routes/search.rs index f1814f5..7304718 100644 --- a/asklyphe-frontend/src/routes/search.rs +++ b/asklyphe-frontend/src/routes/search.rs @@ -19,7 +19,6 @@ use crate::unit_converter::UnitConversion; use crate::wikipedia::WikipediaSummary; use crate::{wikipedia, Opts, ALPHA, BUILT_ON, GIT_COMMIT, VERSION, YEAR}; use crate::bangs; -use crate::bangs::BangRedirect; use askama::Template; use asklyphe_common::nats; use asklyphe_common::nats::bingservice::{ @@ -175,7 +174,7 @@ pub async fn search_js( let bang_redirect = bangs::redirect_bang(&query); if let Some(redirect) = bang_redirect { - return Redirect::to(&redirect.url).into_response(); + return Redirect::to(&redirect).into_response(); } } else { complications.disabled = true; @@ -292,7 +291,7 @@ pub async fn search_nojs( let bang_redirect = bangs::redirect_bang(&query); if let Some(redirect) = bang_redirect { - return Redirect::to(&redirect.url).into_response(); + return Redirect::to(&redirect).into_response(); } } else { complications.disabled = true;