in proxy_agent/src/common/hyper_client.rs [395:417]
fn headers_to_canonicalized_string(headers: &hyper::HeaderMap) -> String {
let mut canonicalized_headers = String::new();
let separator = String::from(LF);
let mut map: HashMap<String, (String, String)> = HashMap::new();
for (key, value) in headers.iter() {
let key = key.to_string();
let value = value.to_str().unwrap().to_string();
let key_lower_case = key.to_lowercase();
map.insert(key_lower_case, (key, value));
}
for key in map.keys().sorted() {
// skip the expect header
if key.eq_ignore_ascii_case(constants::AUTHORIZATION_HEADER) {
continue;
}
let h = format!("{}:{}{}", key, map[key].1.trim(), separator);
canonicalized_headers.push_str(&h);
}
canonicalized_headers
}