From 5637e5a44f92c50b7ac29717ece79274d492b1e7 Mon Sep 17 00:00:00 2001 From: yggverse Date: Sat, 18 Jan 2025 07:28:54 +0200 Subject: [PATCH] update comments --- .../browser/window/tab/item/page/client/driver/gemini.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/app/browser/window/tab/item/page/client/driver/gemini.rs b/src/app/browser/window/tab/item/page/client/driver/gemini.rs index 92b1df7e..31ee104f 100644 --- a/src/app/browser/window/tab/item/page/client/driver/gemini.rs +++ b/src/app/browser/window/tab/item/page/client/driver/gemini.rs @@ -159,7 +159,7 @@ fn redirect( priority: Priority, is_foreground: bool, ) -> Response { - // Validate redirect according to + // Validate redirection attempt // [Gemini protocol specifications](https://geminiprotocol.net/docs/protocol-specification.gmi#redirection) if referrer.len() > 5 { return Response::Failure(Failure::Error { @@ -167,6 +167,7 @@ fn redirect( }); } match data { + // Target address could be relative, parse using base Uri Some(target) => match Uri::parse_relative(&base, target.as_str(), UriFlags::NONE) { Ok(target) => { // Disallow external redirection @@ -181,7 +182,9 @@ fn redirect( }); // @TODO placeholder page with optional link open button } - // Build request + // Build new `Request` for redirection `Response` + // * make sure that `referrer` already contain current `Request` + // (to validate redirection count in chain) let request = Request::build(&target.to_string(), Some(referrer), cancellable, priority);