diff --git a/lib/core/mergeConfig.js b/lib/core/mergeConfig.js index e4600e5..c510073 100644 --- a/lib/core/mergeConfig.js +++ b/lib/core/mergeConfig.js @@ -19,7 +19,7 @@ export default function mergeConfig(config1, config2) { config2 = config2 || {}; const config = {}; - function getMergedValue(target, source, caseless) { + function getMergedValue(target, source, prop, caseless) { if (utils.isPlainObject(target) && utils.isPlainObject(source)) { return utils.merge.call({caseless}, target, source); } else if (utils.isPlainObject(source)) { @@ -31,11 +31,11 @@ export default function mergeConfig(config1, config2) { } // eslint-disable-next-line consistent-return - function mergeDeepProperties(a, b, caseless) { + function mergeDeepProperties(a, b, prop , caseless) { if (!utils.isUndefined(b)) { - return getMergedValue(a, b, caseless); + return getMergedValue(a, b, prop , caseless); } else if (!utils.isUndefined(a)) { - return getMergedValue(undefined, a, caseless); + return getMergedValue(undefined, a, prop , caseless); } } @@ -93,7 +93,7 @@ export default function mergeConfig(config1, config2) { socketPath: defaultToConfig2, responseEncoding: defaultToConfig2, validateStatus: mergeDirectKeys, - headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true) + headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true) }; utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {