Skip to content

Commit

Permalink
Merge PR #345 'headers-cors-fix'
Browse files Browse the repository at this point in the history
  • Loading branch information
SimonWoolf committed Oct 24, 2016
2 parents bcbdd1e + bcacd61 commit a549161
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 4 deletions.
14 changes: 11 additions & 3 deletions browser/lib/transport/xhrrequest.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,16 @@ var XHRRequest = (function() {
&& !xhr.getResponseHeader('content-length');
}

function getHeadersAsObject(xhr) {
var headerPairs = Utils.trim(xhr.getAllResponseHeaders()).split('\r\n'),
headers = {};
for (var i = 0; i < headerPairs.length; i++) {
var parts = Utils.arrMap(headerPairs[i].split(':'), Utils.trim);
headers[parts[0].toLowerCase()] = parts[1];
}
return headers;
}

function XHRRequest(uri, headers, params, body, requestMode, timeouts) {
EventEmitter.call(this);
params = params || {};
Expand Down Expand Up @@ -180,9 +190,7 @@ var XHRRequest = (function() {
headers = responseBody.headers;
responseBody = responseBody.response;
} else {
headers = {};
if(contentType) { headers['content-type'] = contentType };
if(server = getHeader(xhr, 'server')) { headers['server'] = server };
headers = getHeadersAsObject(xhr);
}
} catch(e) {
var err = new Error('Malformed response body from server: ' + e.message);
Expand Down
8 changes: 7 additions & 1 deletion common/lib/util/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -359,7 +359,13 @@ var Utils = (function() {
result.push(Utils.arrPopRandomElement(mutableArr));
}
return result;
}
};

Utils.trim = String.prototype.trim ? function(str) {
return str.trim();
} : function(str) {
return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
};

return Utils;
})();

0 comments on commit a549161

Please sign in to comment.