项目原始demo,不改动
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
Este repositório está arquivado. Pode ver ficheiros e cloná-lo, mas não pode fazer envios ou lançar questões ou pedidos de integração.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. 'use strict';
  2. var utils = require('../utils');
  3. /**
  4. * Config-specific merge-function which creates a new config-object
  5. * by merging two configuration objects together.
  6. *
  7. * @param {Object} config1
  8. * @param {Object} config2
  9. * @returns {Object} New object resulting from merging config2 to config1
  10. */
  11. module.exports = function mergeConfig(config1, config2) {
  12. // eslint-disable-next-line no-param-reassign
  13. config2 = config2 || {};
  14. var config = {};
  15. utils.forEach(['url', 'method', 'params', 'data'], function valueFromConfig2(prop) {
  16. if (typeof config2[prop] !== 'undefined') {
  17. config[prop] = config2[prop];
  18. }
  19. });
  20. utils.forEach(['headers', 'auth', 'proxy'], function mergeDeepProperties(prop) {
  21. if (utils.isObject(config2[prop])) {
  22. config[prop] = utils.deepMerge(config1[prop], config2[prop]);
  23. } else if (typeof config2[prop] !== 'undefined') {
  24. config[prop] = config2[prop];
  25. } else if (utils.isObject(config1[prop])) {
  26. config[prop] = utils.deepMerge(config1[prop]);
  27. } else if (typeof config1[prop] !== 'undefined') {
  28. config[prop] = config1[prop];
  29. }
  30. });
  31. utils.forEach([
  32. 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',
  33. 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',
  34. 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'maxContentLength',
  35. 'validateStatus', 'maxRedirects', 'httpAgent', 'httpsAgent', 'cancelToken',
  36. 'socketPath'
  37. ], function defaultToConfig2(prop) {
  38. if (typeof config2[prop] !== 'undefined') {
  39. config[prop] = config2[prop];
  40. } else if (typeof config1[prop] !== 'undefined') {
  41. config[prop] = config1[prop];
  42. }
  43. });
  44. return config;
  45. };