2
0
mirror of https://github.com/tenrok/axios.git synced 2026-06-14 18:42:33 +03:00

Spec for mergeConfig, finalize logic

This commit is contained in:
Martti Laine
2018-04-07 15:54:56 +02:00
parent ff61caacb7
commit 143bbbe1b9
3 changed files with 85 additions and 11 deletions
+16 -10
View File
@@ -16,18 +16,20 @@ module.exports = function mergeConfig(config1, config2) {
var config = {};
utils.forEach(['url', 'method', 'params', 'data'], function valueFromConfig2(prop) {
config[prop] = config2[prop];
if (typeof config2[prop] !== 'undefined') {
config[prop] = config2[prop];
}
});
utils.forEach(['headers', 'auth', 'proxy'], function mergeValues(prop) {
if (typeof config2[prop] !== 'undefined') {
if (typeof config2[prop] === 'object') {
config[prop] = utils.deepMerge(config1[prop], config2[prop]);
} else {
config[prop] = config2[prop];
}
} else if (typeof config1[prop] !== 'undefined') {
utils.forEach(['headers', 'auth', 'proxy'], function mergeDeepProperties(prop) {
if (utils.isObject(config2[prop])) {
config[prop] = utils.deepMerge(config1[prop], config2[prop]);
} else if (typeof config2[prop] !== 'undefined') {
config[prop] = config2[prop];
} else if (utils.isObject(config1[prop])) {
config[prop] = utils.deepMerge(config1[prop]);
} else if (typeof config1[prop] !== 'undefined') {
config[prop] = config1[prop];
}
});
@@ -37,7 +39,11 @@ module.exports = function mergeConfig(config1, config2) {
'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'maxContentLength',
'validateStatus', 'maxRedirects', 'httpAgent', 'httpsAgent', 'cancelToken'
], function defaultToConfig2(prop) {
config[prop] = typeof config2[prop] === 'undefined' ? config1[prop] : config2[prop];
if (typeof config2[prop] !== 'undefined') {
config[prop] = config2[prop];
} else if (typeof config1[prop] !== 'undefined') {
config[prop] = config1[prop];
}
});
return config;
-1
View File
@@ -26,7 +26,6 @@ function getDefaultAdapter() {
}
var defaults = {
method: 'get',
adapter: getDefaultAdapter(),
transformRequest: [function transformRequest(data, headers) {