| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 | 
							- 'use strict';
 
- import utils from '../utils.js';
 
- import AxiosHeaders from "./AxiosHeaders.js";
 
- const headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;
 
- /**
 
-  * Config-specific merge-function which creates a new config-object
 
-  * by merging two configuration objects together.
 
-  *
 
-  * @param {Object} config1
 
-  * @param {Object} config2
 
-  *
 
-  * @returns {Object} New object resulting from merging config2 to config1
 
-  */
 
- export default function mergeConfig(config1, config2) {
 
-   // eslint-disable-next-line no-param-reassign
 
-   config2 = config2 || {};
 
-   const config = {};
 
-   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)) {
 
-       return utils.merge({}, source);
 
-     } else if (utils.isArray(source)) {
 
-       return source.slice();
 
-     }
 
-     return source;
 
-   }
 
-   // eslint-disable-next-line consistent-return
 
-   function mergeDeepProperties(a, b, prop , caseless) {
 
-     if (!utils.isUndefined(b)) {
 
-       return getMergedValue(a, b, prop , caseless);
 
-     } else if (!utils.isUndefined(a)) {
 
-       return getMergedValue(undefined, a, prop , caseless);
 
-     }
 
-   }
 
-   // eslint-disable-next-line consistent-return
 
-   function valueFromConfig2(a, b) {
 
-     if (!utils.isUndefined(b)) {
 
-       return getMergedValue(undefined, b);
 
-     }
 
-   }
 
-   // eslint-disable-next-line consistent-return
 
-   function defaultToConfig2(a, b) {
 
-     if (!utils.isUndefined(b)) {
 
-       return getMergedValue(undefined, b);
 
-     } else if (!utils.isUndefined(a)) {
 
-       return getMergedValue(undefined, a);
 
-     }
 
-   }
 
-   // eslint-disable-next-line consistent-return
 
-   function mergeDirectKeys(a, b, prop) {
 
-     if (prop in config2) {
 
-       return getMergedValue(a, b);
 
-     } else if (prop in config1) {
 
-       return getMergedValue(undefined, a);
 
-     }
 
-   }
 
-   const mergeMap = {
 
-     url: valueFromConfig2,
 
-     method: valueFromConfig2,
 
-     data: valueFromConfig2,
 
-     baseURL: defaultToConfig2,
 
-     transformRequest: defaultToConfig2,
 
-     transformResponse: defaultToConfig2,
 
-     paramsSerializer: defaultToConfig2,
 
-     timeout: defaultToConfig2,
 
-     timeoutMessage: defaultToConfig2,
 
-     withCredentials: defaultToConfig2,
 
-     withXSRFToken: defaultToConfig2,
 
-     adapter: defaultToConfig2,
 
-     responseType: defaultToConfig2,
 
-     xsrfCookieName: defaultToConfig2,
 
-     xsrfHeaderName: defaultToConfig2,
 
-     onUploadProgress: defaultToConfig2,
 
-     onDownloadProgress: defaultToConfig2,
 
-     decompress: defaultToConfig2,
 
-     maxContentLength: defaultToConfig2,
 
-     maxBodyLength: defaultToConfig2,
 
-     beforeRedirect: defaultToConfig2,
 
-     transport: defaultToConfig2,
 
-     httpAgent: defaultToConfig2,
 
-     httpsAgent: defaultToConfig2,
 
-     cancelToken: defaultToConfig2,
 
-     socketPath: defaultToConfig2,
 
-     responseEncoding: defaultToConfig2,
 
-     validateStatus: mergeDirectKeys,
 
-     headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)
 
-   };
 
-   utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {
 
-     const merge = mergeMap[prop] || mergeDeepProperties;
 
-     const configValue = merge(config1[prop], config2[prop], prop);
 
-     (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);
 
-   });
 
-   return config;
 
- }
 
 
  |