mirror of
https://github.com/tenrok/axios.git
synced 2026-06-14 18:42:33 +03:00
Clean up PR
This commit is contained in:
+22
-30
@@ -279,47 +279,39 @@ function extend(a, b, thisArg) {
|
||||
return a;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Config-specific merge-function which creates a new config-object
|
||||
* based on given defaults and instance config.
|
||||
*
|
||||
* @param {Object} defaults Defaults
|
||||
* @param {Object} instanceConfig Instance-specific config
|
||||
* @returns {Object} New object resulting from merging instanceConfig to defaults
|
||||
*/
|
||||
function mergeConfig(defaults, instanceConfig) {
|
||||
instanceConfig = instanceConfig || {};
|
||||
var config = {};
|
||||
forEach(['url', 'method', 'params', 'data'], function(prop) {
|
||||
forEach(['url', 'method', 'params', 'data'], function valueFromInstanceConfig(prop) {
|
||||
config[prop] = instanceConfig[prop];
|
||||
});
|
||||
forEach(['headers', 'auth', 'proxy'], function(prop) {
|
||||
forEach(['headers', 'auth', 'proxy'], function mergeInstanceConfigWithDefaults(prop) {
|
||||
if (!isUndefined(instanceConfig[prop])) {
|
||||
if (!isObject(instanceConfig[prop])) {
|
||||
config[prop] = instanceConfig[prop];
|
||||
if (isObject(instanceConfig[prop])) {
|
||||
config[prop] = merge(defaults[prop], instanceConfig[prop]);
|
||||
} else {
|
||||
config[prop] = merge(
|
||||
defaults[prop],
|
||||
instanceConfig[prop]
|
||||
);
|
||||
config[prop] = instanceConfig[prop];
|
||||
}
|
||||
} else if (!isUndefined(defaults[prop])) {
|
||||
config[prop] = JSON.parse(JSON.stringify(defaults[prop]));
|
||||
}
|
||||
});
|
||||
var remainingProperties = [
|
||||
'baseURL',
|
||||
'transformRequest',
|
||||
'transformResponse',
|
||||
'paramsSerializer',
|
||||
'timeout',
|
||||
'withCredentials',
|
||||
'adapter',
|
||||
'responseType',
|
||||
'xsrfCookieName',
|
||||
'xsrfHeaderName',
|
||||
'onUploadProgress',
|
||||
'onDownloadProgress',
|
||||
'maxContentLength',
|
||||
'validateStatus',
|
||||
'maxRedirects',
|
||||
'httpAgent',
|
||||
'httpsAgent',
|
||||
'cancelToken'
|
||||
];
|
||||
forEach(remainingProperties, function(prop) {
|
||||
config[prop] = !isUndefined(instanceConfig[prop]) ? instanceConfig[prop] : defaults[prop];
|
||||
forEach([
|
||||
'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',
|
||||
'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',
|
||||
'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'maxContentLength',
|
||||
'validateStatus', 'maxRedirects', 'httpAgent', 'httpsAgent', 'cancelToken'
|
||||
], function defaultToInstanceConfig(prop) {
|
||||
config[prop] = isUndefined(instanceConfig[prop]) ? defaults[prop] : instanceConfig[prop];
|
||||
});
|
||||
return config;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user