From df191c8e25f2d320c05229dc5872b4a20fd6baf5 Mon Sep 17 00:00:00 2001 From: yggverse Date: Tue, 14 Jan 2025 00:42:40 +0200 Subject: [PATCH] add query support --- src/client/connection/request/titan.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/client/connection/request/titan.rs b/src/client/connection/request/titan.rs index 19b07e6..504c8cb 100644 --- a/src/client/connection/request/titan.rs +++ b/src/client/connection/request/titan.rs @@ -1,4 +1,4 @@ -use glib::{Bytes, Uri}; +use glib::{Bytes, Uri, UriHideFlags}; /// [Titan](gemini://transjovian.org/titan/page/The%20Titan%20Specification) protocol enum object for `Request` pub struct Titan { @@ -17,13 +17,19 @@ impl Titan { let size = self.data.len(); // Build header - let mut header = format!("{};size={size}", self.uri); + let mut header = format!( + "{};size={size}", + self.uri.to_string_partial(UriHideFlags::QUERY) + ); if let Some(ref mime) = self.mime { header.push_str(&format!(";mime={mime}")); } if let Some(ref token) = self.token { header.push_str(&format!(";token={token}")); } + if let Some(query) = self.uri.query() { + header.push_str(&format!("?{query}")); + } header.push_str("\r\n"); // Build request