From 2d64c092ea857f0b72cb7f2ad8cedff0c64eb14b Mon Sep 17 00:00:00 2001 From: Peter Sawyer Date: Tue, 21 Nov 2023 21:34:13 -0800 Subject: [PATCH] Fix short links again. Just using a split --- src/main.rs | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/main.rs b/src/main.rs index 92ea947..90ee069 100644 --- a/src/main.rs +++ b/src/main.rs @@ -18,7 +18,6 @@ use clap::{Arg, ArgAction, Command}; use futures_lite::FutureExt; use hyper::{header::HeaderValue, Body, Request, Response}; -use url::Url; mod client; use client::{canonical_path, proxy}; @@ -320,13 +319,8 @@ async fn main() { // Share link Some(id) if (8..12).contains(&id.len()) => match canonical_path(format!("/r/{}/s/{}", sub, id)).await { - Ok(path_opt) => match path_opt { - Some(path) => match Url::parse(&path) { - Ok(parsed_path) => Ok(redirect(parsed_path.path().to_string())), - _ => error(req, "Bad response from reddit.com").await, - }, - None => error(req, "Post ID is invalid. It may point to a post on a community that has been banned.").await, - }, + Ok(Some(path)) => Ok(redirect(path.split('?').next().unwrap_or_default().to_string())), + Ok(None) => error(req, "Post ID is invalid. It may point to a post on a community that has been banned.").await, Err(e) => error(req, e).await, },