diff options
| author | Fuwn <[email protected]> | 2022-06-10 02:51:31 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2022-06-10 02:51:31 +0000 |
| commit | d369b4ef5cbec03b4b0152a93052a32a7cc4ed8d (patch) | |
| tree | 7ca3424d4aced133de448e3bfa8db39babb43858 /src | |
| parent | test(meta): add no params test (diff) | |
| download | germ-d369b4ef5cbec03b4b0152a93052a32a7cc4ed8d.tar.xz germ-d369b4ef5cbec03b4b0152a93052a32a7cc4ed8d.zip | |
feat(meta): impl ToString for Meta
Diffstat (limited to 'src')
| -rw-r--r-- | src/meta.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/meta.rs b/src/meta.rs index 9ff2712..3973d3b 100644 --- a/src/meta.rs +++ b/src/meta.rs @@ -27,6 +27,25 @@ pub struct Meta { /// The parameters of a Gemini response parameters: HashMap<String, String>, } +impl ToString for Meta { + fn to_string(&self) -> String { + format!("{}{}", self.mime, { + let mut parameters = self + .parameters + .iter() + .map(|(k, v)| format!("{}={}", *k, v)) + .collect::<Vec<_>>(); + + parameters.reverse(); + + if parameters.is_empty() { + "".to_string() + } else { + format!("; {}", parameters.join("; ")) + } + }) + } +} impl Meta { #[must_use] pub fn from_string(meta: &str) -> Self { |