1#[derive(Default, Clone)]
9pub struct HeaderMap(Vec<(String, String)>);
10
11impl HeaderMap {
12 pub fn new() -> Self {
14 Self::default()
15 }
16
17 pub fn get(&self, name: &str) -> Option<&str> {
19 self.0
20 .iter()
21 .find(|(n, _)| n.eq_ignore_ascii_case(name))
22 .map(|(_, v)| v.as_str())
23 }
24
25 pub fn insert(&mut self, name: String, value: String) {
27 self.0.push((name, value));
28 }
29
30 pub fn iter(&self) -> impl Iterator<Item = (&str, &str)> {
32 self.0.iter().map(|(n, v)| (n.as_str(), v.as_str()))
33 }
34}