This commit is contained in:
spikecodes 2021-02-27 13:34:02 -08:00
parent 10c73fad7f
commit 20f6945160
No known key found for this signature in database
GPG key ID: 004CECFF9B463BCB
2 changed files with 12 additions and 5 deletions

View file

@ -43,10 +43,17 @@ where
#[async_trait]
impl<State: Clone + Send + Sync + 'static> Middleware<State> for NormalizePath {
async fn handle(&self, request: Request<State>, next: Next<'_, State>) -> tide::Result {
if !request.url().path().ends_with('/') {
Ok(Response::builder(301).header("Location", format!("{}/", request.url().path())).build())
} else {
let path = request.url().path();
let query = request.url().query().unwrap_or_default();
if path.ends_with('/') {
Ok(next.run(request).await)
} else {
let normalized = if query != "" {
format!("{}/?{}", path.replace("//", "/"), query)
} else {
format!("{}/", path.replace("//", "/"))
};
Ok(redirect(normalized))
}
}
}

View file

@ -2,9 +2,9 @@
"name": "Libreddit",
"short_name": "Libreddit",
"display": "standalone",
"background_color": "#1F1F1F",
"background_color": "#1f1f1f",
"description": "An alternative private front-end to Reddit",
"theme_color": "#1F1F1F",
"theme_color": "#1f1f1f",
"icons": [
{
"src": "logo.png",