Make sure config.headers does not overwrite DEFAULT_CONFIG.headers in OpenLayers.Request.issue
This commit is contained in:
@@ -173,8 +173,10 @@ OpenLayers.Util.extend(OpenLayers.Request, {
|
|||||||
this.DEFAULT_CONFIG,
|
this.DEFAULT_CONFIG,
|
||||||
{proxy: OpenLayers.ProxyHost}
|
{proxy: OpenLayers.ProxyHost}
|
||||||
);
|
);
|
||||||
|
config = config || {};
|
||||||
|
config.headers = config.headers || {};
|
||||||
config = OpenLayers.Util.applyDefaults(config, defaultConfig);
|
config = OpenLayers.Util.applyDefaults(config, defaultConfig);
|
||||||
|
config.headers = OpenLayers.Util.applyDefaults(config.headers, defaultConfig.headers);
|
||||||
// Always set the "X-Requested-With" header to signal that this request
|
// Always set the "X-Requested-With" header to signal that this request
|
||||||
// was issued through the XHR-object. Since header keys are case
|
// was issued through the XHR-object. Since header keys are case
|
||||||
// insensitive and we want to allow overriding of the "X-Requested-With"
|
// insensitive and we want to allow overriding of the "X-Requested-With"
|
||||||
|
|||||||
+29
-1
@@ -16,7 +16,35 @@
|
|||||||
function teardown() {
|
function teardown() {
|
||||||
OpenLayers.Request.XMLHttpRequest = window._xhr;
|
OpenLayers.Request.XMLHttpRequest = window._xhr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function test_defaultHeaders(t) {
|
||||||
|
setup();
|
||||||
|
t.plan(2);
|
||||||
|
var config = {
|
||||||
|
headers: {
|
||||||
|
x: 'y'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
OpenLayers.Request.DEFAULT_CONFIG.headers = {
|
||||||
|
foo: 'bar'
|
||||||
|
};
|
||||||
|
var proto = OpenLayers.Request.XMLHttpRequest.prototype;
|
||||||
|
var issue = OpenLayers.Function.bind(OpenLayers.Request.issue,
|
||||||
|
OpenLayers.Request);
|
||||||
|
|
||||||
|
var headers = {};
|
||||||
|
var _setRequestHeader = proto.setRequestHeader;
|
||||||
|
proto.setRequestHeader = function(key, value) {
|
||||||
|
headers[key] = value;
|
||||||
|
};
|
||||||
|
request = issue(config);
|
||||||
|
t.eq(headers.foo, 'bar', "Header from DEFAULT_CONFIG set correctly");
|
||||||
|
t.eq(headers.x, 'y', "Header from config set correctly");
|
||||||
|
proto.setRequestHeader = _setRequestHeader;
|
||||||
|
OpenLayers.Request.DEFAULT_CONFIG.headers = {};
|
||||||
|
teardown();
|
||||||
|
}
|
||||||
|
|
||||||
function test_issue(t) {
|
function test_issue(t) {
|
||||||
setup();
|
setup();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user