Skip to content

Instantly share code, notes, and snippets.

@RS-DU34
Forked from monsur/gist:706839
Created October 7, 2018 00:19
Show Gist options
  • Save RS-DU34/7012bf736c0eeefaa5c3286a710e7e97 to your computer and use it in GitHub Desktop.
Save RS-DU34/7012bf736c0eeefaa5c3286a710e7e97 to your computer and use it in GitHub Desktop.
Parses the response from XmlHttpRequest.getAllResponseHeaders() into a key/value pair.
/**
* XmlHttpRequest's getAllResponseHeaders() method returns a string of response
* headers according to the format described here:
* http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders-method
* This method parses that string into a user-friendly key/value pair object.
*/
function parseResponseHeaders(headerStr) {
var headers = {};
if (!headerStr) {
return headers;
}
var headerPairs = headerStr.split('\u000d\u000a');
for (var i = 0; i < headerPairs.length; i++) {
var headerPair = headerPairs[i];
// Can't use split() here because it does the wrong thing
// if the header value has the string ": " in it.
var index = headerPair.indexOf('\u003a\u0020');
if (index > 0) {
var key = headerPair.substring(0, index);
var val = headerPair.substring(index + 2);
headers[key] = val;
}
}
return headers;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment