add query support

This commit is contained in:
yggverse 2025-01-14 00:42:40 +02:00
parent a9283770db
commit df191c8e25

View file

@ -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