stdweb
stdweb copied to clipboard
XmlHttpRequest add get_all_response_headers method
get_all_response_headers allow one to retrieve all response headers and so they can be iterated over.
Example converting headers to hyper::http::HeaderMap
let xhr = XmlHttpRequest::new();
let raw_headers = xhr.get_all_response_headers();
let headers = match raw_headers {
Some(rh) => {
let mut headers = http::header::HeaderMap::new();
for h in rh.split("\r\n") {
if h.len() == 0 {
continue;
}
let parts: Vec<&str> = h.split(": ").collect();
let k = parts[0];
let k = http::header::HeaderName::from_bytes(k.as_bytes()).unwrap();
let v = parts[1..].join(": ");
let v = http::header::HeaderValue::from_str(&v).unwrap();
headers.append(k, v);
}
headers
},
None => http::header::HeaderMap::new(),
};