From 6b9070e20027087c4dcd1d638ccee91a5f916765 Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Sat, 8 Aug 2020 16:05:13 -0400 Subject: [PATCH] majc: fix redirects --- majc/src/gemini.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/majc/src/gemini.rs b/majc/src/gemini.rs index 95ca816..c0853d1 100644 --- a/majc/src/gemini.rs +++ b/majc/src/gemini.rs @@ -8,6 +8,7 @@ use cursive::{ use maj::{self, Response}; use rustls::ClientConfig; use std::str; +use url::Url; /// The state of the browser. #[derive(Clone)] @@ -153,13 +154,17 @@ pub fn show(siv: &mut Cursive, url: &str, resp: Response) { TemporaryRedirect => { let st = siv.user_data::().unwrap(); st.history.pop(); - open(siv, resp.meta.as_str()); + let u = Url::parse(url).unwrap(); + let u = u.join(resp.meta.as_str()).unwrap(); + open(siv, u.as_str()); } PermanentRedirect => { let st = siv.user_data::().unwrap(); st.history.pop(); - open(siv, resp.meta.as_str()); + let u = Url::parse(url).unwrap(); + let u = u.join(resp.meta.as_str()).unwrap(); + open(siv, u.as_str()); } Input => {