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:
+16
-10
@@ -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;
|
||||
|
||||
@@ -26,7 +26,6 @@ function getDefaultAdapter() {
|
||||
}
|
||||
|
||||
var defaults = {
|
||||
method: 'get',
|
||||
adapter: getDefaultAdapter(),
|
||||
|
||||
transformRequest: [function transformRequest(data, headers) {
|
||||
|
||||
Reference in New Issue
Block a user