From 384ddd782b989218ceb55b7147aa8698425d1464 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Fri, 5 Jul 2024 02:27:48 +0200 Subject: simpletransaction works --- src/encoding/headermap.rs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'src/encoding/headermap.rs') diff --git a/src/encoding/headermap.rs b/src/encoding/headermap.rs index 313d8b5..2f9f097 100644 --- a/src/encoding/headermap.rs +++ b/src/encoding/headermap.rs @@ -13,11 +13,17 @@ impl HeaderMap { self.0.push((H::NAME.to_string(), format!("{h}"))); self } - pub fn get(&self) -> Option> { + pub fn insert(&mut self, h: H) { + self.0.push((H::NAME.to_string(), format!("{h}"))); + } + pub fn get_raw(&self, name: &str) -> Option<&str> { self.0 .iter() - .find(|(k, _)| k == H::NAME) - .map(|(_, v)| H::from_str(v)) + .find(|(k, _)| k.eq_ignore_ascii_case(name)) + .map(|(_, v)| v.as_str()) + } + pub fn get(&self) -> Option> { + self.get_raw(H::NAME).map(H::from_str) } pub fn insert_raw(&mut self, key: String, value: String) { self.0.push((key, value)) @@ -32,3 +38,9 @@ impl Display for HeaderMap { Ok(()) } } + +impl FromIterator<(String, String)> for HeaderMap { + fn from_iter>(iter: T) -> Self { + Self(Vec::from_iter(iter)) + } +} -- cgit v1.2.3-70-g09d2