-- Leo's gemini proxy
-- Connecting to typed-hole.org:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini
commit 9a2140d7befa027a15fa7af49d1634bd603fdeb7
Author: Julien Blanchard <julien@sideburns.eu>
Date: Mon Aug 19 11:20:40 2019 +0200
Fix issue with redirects and missing views
diff --git a/src/main.rs b/src/main.rs
index 0fa1861..a54bd91 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -151,9 +151,6 @@ fn visit_url(s: &mut Cursive, url: &Url) {
}
fn draw_content(s: &mut Cursive, url: Url, content: String) {
- let mut main_view = s.find_id::<SelectView>("main").unwrap();
- let mut container = s.find_id::<Dialog>("container").unwrap();
-
let url_copy = url.clone();
// handle response status
@@ -166,7 +163,7 @@ fn draw_content(s: &mut Cursive, url: Url, content: String) {
return;
}
Status::RedirectTemporary(new_url) | Status::RedirectPermanent(new_url) => {
- follow_link(s, &new_url)
+ return follow_link(s, &new_url)
}
Status::TransientCertificateRequired(_meta)
| Status::AuthorisedCertificatedRequired(_meta) => {
@@ -186,6 +183,15 @@ fn draw_content(s: &mut Cursive, url: Url, content: String) {
}
}
+ let mut main_view = match s.find_id::<SelectView>("main") {
+ Some(view) => view,
+ None => panic!("Can't find main view.")
+ };
+ let mut container = match s.find_id::<Dialog>("container") {
+ Some(view) => view,
+ None => panic!("Can't find container view.")
+ };
+
// set title and clear old content
container.set_title(url.as_str());
main_view.clear();
---
Served by Pollux Gemini Server.
-- Response ended
-- Page fetched on Sun May 19 12:06:30 2024