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