fix issue 1919

This commit is contained in:
tkilliansc 2017-08-03 13:48:19 -07:00 committed by tskillian
parent 1da69da4dd
commit b4856a9ecd
4 changed files with 22 additions and 3 deletions

View file

@ -72,6 +72,14 @@ o.spec("xhrMock", function() {
}
xhr.send("a=b")
})
o("Setting a header twice merges the header", function() {
// Source: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/setRequestHeader
var xhr = new $window.XMLHttpRequest()
xhr.open("POST", "/test")
xhr.setRequestHeader("Content-Type", "foo")
xhr.setRequestHeader("Content-Type", "bar")
o(xhr.getRequestHeader("Content-Type")).equals("foo, bar")
})
})
o.spec("jsonp", function() {
o("works", function(done) {

View file

@ -17,7 +17,17 @@ module.exports = function() {
var headers = {}
var aborted = false
this.setRequestHeader = function(header, value) {
headers[header] = value
/*
the behavior of setHeader is not your expected setX API.
If the header is already set, it'll merge with whatever you add
rather than overwrite
Source: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/setRequestHeader
*/
if (headers[header]) {
headers[header] += ", " + value;
} else {
headers[header] = value
}
}
this.getRequestHeader = function(header) {
return headers[header]