pub fn add_header<K: ToString>(&mut self, key: K, value: &str) {
        let mut key_lower = key.to_string();
        key_lower.make_ascii_lowercase();

        let value_vec = value.as_bytes().to_vec();

        self.headers.entry(key_lower).or_default().push(value_vec);
    }
Add a value to the array of headers for the specified key.
Headers are kept sorted by key name for use at signing (BTreeMap)
rusoto/signature/src/signature.rs