axios 1.1.3 → 1.2.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of axios might be problematic. Click here for more details.

package/dist/axios.js CHANGED
@@ -1,4 +1,4 @@
1
- // Axios v1.1.3 Copyright (c) 2022 Matt Zabriskie and contributors
1
+ // Axios v1.2.0-alpha.1 Copyright (c) 2022 Matt Zabriskie and contributors
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
4
4
  typeof define === 'function' && define.amd ? define(factory) :
@@ -36,6 +36,52 @@
36
36
  });
37
37
  return Constructor;
38
38
  }
39
+ function _slicedToArray(arr, i) {
40
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
41
+ }
42
+ function _arrayWithHoles(arr) {
43
+ if (Array.isArray(arr)) return arr;
44
+ }
45
+ function _iterableToArrayLimit(arr, i) {
46
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
47
+ if (_i == null) return;
48
+ var _arr = [];
49
+ var _n = true;
50
+ var _d = false;
51
+ var _s, _e;
52
+ try {
53
+ for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
54
+ _arr.push(_s.value);
55
+ if (i && _arr.length === i) break;
56
+ }
57
+ } catch (err) {
58
+ _d = true;
59
+ _e = err;
60
+ } finally {
61
+ try {
62
+ if (!_n && _i["return"] != null) _i["return"]();
63
+ } finally {
64
+ if (_d) throw _e;
65
+ }
66
+ }
67
+ return _arr;
68
+ }
69
+ function _unsupportedIterableToArray(o, minLen) {
70
+ if (!o) return;
71
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
72
+ var n = Object.prototype.toString.call(o).slice(8, -1);
73
+ if (n === "Object" && o.constructor) n = o.constructor.name;
74
+ if (n === "Map" || n === "Set") return Array.from(o);
75
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
76
+ }
77
+ function _arrayLikeToArray(arr, len) {
78
+ if (len == null || len > arr.length) len = arr.length;
79
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
80
+ return arr2;
81
+ }
82
+ function _nonIterableRest() {
83
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
84
+ }
39
85
 
40
86
  function bind(fn, thisArg) {
41
87
  return function wrap() {
@@ -274,7 +320,7 @@
274
320
  * @param {Function} fn The callback to invoke for each item
275
321
  *
276
322
  * @param {Boolean} [allOwnKeys = false]
277
- * @returns {void}
323
+ * @returns {any}
278
324
  */
279
325
  function forEach(obj, fn) {
280
326
  var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
@@ -308,6 +354,23 @@
308
354
  }
309
355
  }
310
356
  }
357
+ function findKey(obj, key) {
358
+ key = key.toLowerCase();
359
+ var keys = Object.keys(obj);
360
+ var i = keys.length;
361
+ var _key;
362
+ while (i-- > 0) {
363
+ _key = keys[i];
364
+ if (key === _key.toLowerCase()) {
365
+ return _key;
366
+ }
367
+ }
368
+ return null;
369
+ }
370
+ var _global = typeof self === "undefined" ? typeof global === "undefined" ? undefined : global : self;
371
+ var isContextDefined = function isContextDefined(context) {
372
+ return !isUndefined(context) && context !== _global;
373
+ };
311
374
 
312
375
  /**
313
376
  * Accepts varargs expecting each argument to be an object, then
@@ -329,16 +392,19 @@
329
392
  */
330
393
  function /* obj1, obj2, obj3, ... */
331
394
  merge() {
395
+ var _ref2 = isContextDefined(this) && this || {},
396
+ caseless = _ref2.caseless;
332
397
  var result = {};
333
398
  var assignValue = function assignValue(val, key) {
334
- if (isPlainObject(result[key]) && isPlainObject(val)) {
335
- result[key] = merge(result[key], val);
399
+ var targetKey = caseless && findKey(result, key) || key;
400
+ if (isPlainObject(result[targetKey]) && isPlainObject(val)) {
401
+ result[targetKey] = merge(result[targetKey], val);
336
402
  } else if (isPlainObject(val)) {
337
- result[key] = merge({}, val);
403
+ result[targetKey] = merge({}, val);
338
404
  } else if (isArray(val)) {
339
- result[key] = val.slice();
405
+ result[targetKey] = val.slice();
340
406
  } else {
341
- result[key] = val;
407
+ result[targetKey] = val;
342
408
  }
343
409
  };
344
410
  for (var i = 0, l = arguments.length; i < l; i++) {
@@ -358,8 +424,8 @@
358
424
  * @returns {Object} The resulting value of object a
359
425
  */
360
426
  var extend = function extend(a, b, thisArg) {
361
- var _ref2 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},
362
- allOwnKeys = _ref2.allOwnKeys;
427
+ var _ref3 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},
428
+ allOwnKeys = _ref3.allOwnKeys;
363
429
  forEach(b, function (val, key) {
364
430
  if (thisArg && isFunction(val)) {
365
431
  a[key] = bind(val, thisArg);
@@ -534,8 +600,8 @@
534
600
  };
535
601
 
536
602
  /* Creating a function that will check if an object has a property. */
537
- var hasOwnProperty = function (_ref3) {
538
- var hasOwnProperty = _ref3.hasOwnProperty;
603
+ var hasOwnProperty = function (_ref4) {
604
+ var hasOwnProperty = _ref4.hasOwnProperty;
539
605
  return function (obj, prop) {
540
606
  return hasOwnProperty.call(obj, prop);
541
607
  };
@@ -567,6 +633,10 @@
567
633
 
568
634
  var freezeMethods = function freezeMethods(obj) {
569
635
  reduceDescriptors(obj, function (descriptor, name) {
636
+ // skip restricted props in strict mode
637
+ if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {
638
+ return false;
639
+ }
570
640
  var value = obj[name];
571
641
  if (!isFunction(value)) return;
572
642
  descriptor.enumerable = false;
@@ -576,7 +646,7 @@
576
646
  }
577
647
  if (!descriptor.set) {
578
648
  descriptor.set = function () {
579
- throw Error('Can not read-only method \'' + name + '\'');
649
+ throw Error('Can not rewrite read-only method \'' + name + '\'');
580
650
  };
581
651
  }
582
652
  });
@@ -639,7 +709,10 @@
639
709
  toObjectSet: toObjectSet,
640
710
  toCamelCase: toCamelCase,
641
711
  noop: noop,
642
- toFiniteNumber: toFiniteNumber
712
+ toFiniteNumber: toFiniteNumber,
713
+ findKey: findKey,
714
+ global: _global,
715
+ isContextDefined: isContextDefined
643
716
  };
644
717
 
645
718
  /**
@@ -719,6 +792,7 @@
719
792
 
720
793
  /* eslint-env browser */
721
794
  var browser = (typeof self === "undefined" ? "undefined" : _typeof(self)) == 'object' ? self.FormData : window.FormData;
795
+ var FormData$2 = browser;
722
796
 
723
797
  /**
724
798
  * Determines if the given thing is a array or js object.
@@ -814,7 +888,7 @@
814
888
  }
815
889
 
816
890
  // eslint-disable-next-line no-param-reassign
817
- formData = formData || new (browser || FormData)();
891
+ formData = formData || new (FormData$2 || FormData)();
818
892
 
819
893
  // eslint-disable-next-line no-param-reassign
820
894
  options = utils.toFlatObject(options, {
@@ -1079,6 +1153,7 @@
1079
1153
  }]);
1080
1154
  return InterceptorManager;
1081
1155
  }();
1156
+ var InterceptorManager$1 = InterceptorManager;
1082
1157
 
1083
1158
  var transitionalDefaults = {
1084
1159
  silentJSONParsing: true,
@@ -1438,7 +1513,6 @@
1438
1513
  });
1439
1514
 
1440
1515
  var $internals = Symbol('internals');
1441
- var $defaults = Symbol('defaults');
1442
1516
  function normalizeHeader(header) {
1443
1517
  return header && String(header).trim().toLowerCase();
1444
1518
  }
@@ -1457,6 +1531,9 @@
1457
1531
  }
1458
1532
  return tokens;
1459
1533
  }
1534
+ function isValidHeaderName(str) {
1535
+ return /^[-_a-zA-Z]+$/.test(str.trim());
1536
+ }
1460
1537
  function matchHeaderValue(context, value, header, filter) {
1461
1538
  if (utils.isFunction(filter)) {
1462
1539
  return filter.call(this, value, header);
@@ -1485,153 +1562,201 @@
1485
1562
  });
1486
1563
  });
1487
1564
  }
1488
- function findKey(obj, key) {
1489
- key = key.toLowerCase();
1490
- var keys = Object.keys(obj);
1491
- var i = keys.length;
1492
- var _key;
1493
- while (i-- > 0) {
1494
- _key = keys[i];
1495
- if (key === _key.toLowerCase()) {
1496
- return _key;
1497
- }
1565
+ var AxiosHeaders = /*#__PURE__*/function (_Symbol$iterator, _Symbol$toStringTag) {
1566
+ function AxiosHeaders(headers) {
1567
+ _classCallCheck(this, AxiosHeaders);
1568
+ headers && this.set(headers);
1498
1569
  }
1499
- return null;
1500
- }
1501
- function AxiosHeaders(headers, defaults) {
1502
- headers && this.set(headers);
1503
- this[$defaults] = defaults || null;
1504
- }
1505
- Object.assign(AxiosHeaders.prototype, {
1506
- set: function set(header, valueOrRewrite, rewrite) {
1507
- var self = this;
1508
- function setHeader(_value, _header, _rewrite) {
1509
- var lHeader = normalizeHeader(_header);
1510
- if (!lHeader) {
1511
- throw new Error('header name must be a non-empty string');
1570
+ _createClass(AxiosHeaders, [{
1571
+ key: "set",
1572
+ value: function set(header, valueOrRewrite, rewrite) {
1573
+ var self = this;
1574
+ function setHeader(_value, _header, _rewrite) {
1575
+ var lHeader = normalizeHeader(_header);
1576
+ if (!lHeader) {
1577
+ throw new Error('header name must be a non-empty string');
1578
+ }
1579
+ var key = utils.findKey(self, lHeader);
1580
+ if (!key || self[key] === undefined || _rewrite === true || _rewrite === undefined && self[key] !== false) {
1581
+ self[key || _header] = normalizeValue(_value);
1582
+ }
1512
1583
  }
1513
- var key = findKey(self, lHeader);
1514
- if (key && _rewrite !== true && (self[key] === false || _rewrite === false)) {
1515
- return;
1584
+ var setHeaders = function setHeaders(headers, _rewrite) {
1585
+ return utils.forEach(headers, function (_value, _header) {
1586
+ return setHeader(_value, _header, _rewrite);
1587
+ });
1588
+ };
1589
+ if (utils.isPlainObject(header) || header instanceof this.constructor) {
1590
+ setHeaders(header, valueOrRewrite);
1591
+ } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
1592
+ setHeaders(parseHeaders(header), valueOrRewrite);
1593
+ } else {
1594
+ header != null && setHeader(valueOrRewrite, header, rewrite);
1516
1595
  }
1517
- self[key || _header] = normalizeValue(_value);
1596
+ return this;
1518
1597
  }
1519
- if (utils.isPlainObject(header)) {
1520
- utils.forEach(header, function (_value, _header) {
1521
- setHeader(_value, _header, valueOrRewrite);
1522
- });
1523
- } else {
1524
- setHeader(valueOrRewrite, header, rewrite);
1525
- }
1526
- return this;
1527
- },
1528
- get: function get(header, parser) {
1529
- header = normalizeHeader(header);
1530
- if (!header) return undefined;
1531
- var key = findKey(this, header);
1532
- if (key) {
1533
- var value = this[key];
1534
- if (!parser) {
1535
- return value;
1598
+ }, {
1599
+ key: "get",
1600
+ value: function get(header, parser) {
1601
+ header = normalizeHeader(header);
1602
+ if (header) {
1603
+ var key = utils.findKey(this, header);
1604
+ if (key) {
1605
+ var value = this[key];
1606
+ if (!parser) {
1607
+ return value;
1608
+ }
1609
+ if (parser === true) {
1610
+ return parseTokens(value);
1611
+ }
1612
+ if (utils.isFunction(parser)) {
1613
+ return parser.call(this, value, key);
1614
+ }
1615
+ if (utils.isRegExp(parser)) {
1616
+ return parser.exec(value);
1617
+ }
1618
+ throw new TypeError('parser must be boolean|regexp|function');
1619
+ }
1536
1620
  }
1537
- if (parser === true) {
1538
- return parseTokens(value);
1621
+ }
1622
+ }, {
1623
+ key: "has",
1624
+ value: function has(header, matcher) {
1625
+ header = normalizeHeader(header);
1626
+ if (header) {
1627
+ var key = utils.findKey(this, header);
1628
+ return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher)));
1539
1629
  }
1540
- if (utils.isFunction(parser)) {
1541
- return parser.call(this, value, key);
1630
+ return false;
1631
+ }
1632
+ }, {
1633
+ key: "delete",
1634
+ value: function _delete(header, matcher) {
1635
+ var self = this;
1636
+ var deleted = false;
1637
+ function deleteHeader(_header) {
1638
+ _header = normalizeHeader(_header);
1639
+ if (_header) {
1640
+ var key = utils.findKey(self, _header);
1641
+ if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {
1642
+ delete self[key];
1643
+ deleted = true;
1644
+ }
1645
+ }
1542
1646
  }
1543
- if (utils.isRegExp(parser)) {
1544
- return parser.exec(value);
1647
+ if (utils.isArray(header)) {
1648
+ header.forEach(deleteHeader);
1649
+ } else {
1650
+ deleteHeader(header);
1545
1651
  }
1546
- throw new TypeError('parser must be boolean|regexp|function');
1652
+ return deleted;
1547
1653
  }
1548
- },
1549
- has: function has(header, matcher) {
1550
- header = normalizeHeader(header);
1551
- if (header) {
1552
- var key = findKey(this, header);
1553
- return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher)));
1654
+ }, {
1655
+ key: "clear",
1656
+ value: function clear() {
1657
+ return Object.keys(this).forEach(this["delete"].bind(this));
1554
1658
  }
1555
- return false;
1556
- },
1557
- "delete": function _delete(header, matcher) {
1558
- var self = this;
1559
- var deleted = false;
1560
- function deleteHeader(_header) {
1561
- _header = normalizeHeader(_header);
1562
- if (_header) {
1563
- var key = findKey(self, _header);
1564
- if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {
1565
- delete self[key];
1566
- deleted = true;
1659
+ }, {
1660
+ key: "normalize",
1661
+ value: function normalize(format) {
1662
+ var self = this;
1663
+ var headers = {};
1664
+ utils.forEach(this, function (value, header) {
1665
+ var key = utils.findKey(headers, header);
1666
+ if (key) {
1667
+ self[key] = normalizeValue(value);
1668
+ delete self[header];
1669
+ return;
1670
+ }
1671
+ var normalized = format ? formatHeader(header) : String(header).trim();
1672
+ if (normalized !== header) {
1673
+ delete self[header];
1567
1674
  }
1675
+ self[normalized] = normalizeValue(value);
1676
+ headers[normalized] = true;
1677
+ });
1678
+ return this;
1679
+ }
1680
+ }, {
1681
+ key: "concat",
1682
+ value: function concat() {
1683
+ var _this$constructor;
1684
+ for (var _len = arguments.length, targets = new Array(_len), _key = 0; _key < _len; _key++) {
1685
+ targets[_key] = arguments[_key];
1568
1686
  }
1687
+ return (_this$constructor = this.constructor).concat.apply(_this$constructor, [this].concat(targets));
1569
1688
  }
1570
- if (utils.isArray(header)) {
1571
- header.forEach(deleteHeader);
1572
- } else {
1573
- deleteHeader(header);
1689
+ }, {
1690
+ key: "toJSON",
1691
+ value: function toJSON(asStrings) {
1692
+ var obj = Object.create(null);
1693
+ utils.forEach(this, function (value, header) {
1694
+ value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);
1695
+ });
1696
+ return obj;
1574
1697
  }
1575
- return deleted;
1576
- },
1577
- clear: function clear() {
1578
- return Object.keys(this).forEach(this["delete"].bind(this));
1579
- },
1580
- normalize: function normalize(format) {
1581
- var self = this;
1582
- var headers = {};
1583
- utils.forEach(this, function (value, header) {
1584
- var key = findKey(headers, header);
1585
- if (key) {
1586
- self[key] = normalizeValue(value);
1587
- delete self[header];
1588
- return;
1589
- }
1590
- var normalized = format ? formatHeader(header) : String(header).trim();
1591
- if (normalized !== header) {
1592
- delete self[header];
1698
+ }, {
1699
+ key: _Symbol$iterator,
1700
+ value: function value() {
1701
+ return Object.entries(this.toJSON())[Symbol.iterator]();
1702
+ }
1703
+ }, {
1704
+ key: "toString",
1705
+ value: function toString() {
1706
+ return Object.entries(this.toJSON()).map(function (_ref) {
1707
+ var _ref2 = _slicedToArray(_ref, 2),
1708
+ header = _ref2[0],
1709
+ value = _ref2[1];
1710
+ return header + ': ' + value;
1711
+ }).join('\n');
1712
+ }
1713
+ }, {
1714
+ key: _Symbol$toStringTag,
1715
+ get: function get() {
1716
+ return 'AxiosHeaders';
1717
+ }
1718
+ }], [{
1719
+ key: "from",
1720
+ value: function from(thing) {
1721
+ return thing instanceof this ? thing : new this(thing);
1722
+ }
1723
+ }, {
1724
+ key: "concat",
1725
+ value: function concat(first) {
1726
+ var computed = new this(first);
1727
+ for (var _len2 = arguments.length, targets = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
1728
+ targets[_key2 - 1] = arguments[_key2];
1593
1729
  }
1594
- self[normalized] = normalizeValue(value);
1595
- headers[normalized] = true;
1596
- });
1597
- return this;
1598
- },
1599
- toJSON: function toJSON(asStrings) {
1600
- var obj = Object.create(null);
1601
- utils.forEach(Object.assign({}, this[$defaults] || null, this), function (value, header) {
1602
- if (value == null || value === false) return;
1603
- obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value;
1604
- });
1605
- return obj;
1606
- }
1607
- });
1608
- Object.assign(AxiosHeaders, {
1609
- from: function from(thing) {
1610
- if (utils.isString(thing)) {
1611
- return new this(parseHeaders(thing));
1730
+ targets.forEach(function (target) {
1731
+ return computed.set(target);
1732
+ });
1733
+ return computed;
1612
1734
  }
1613
- return thing instanceof this ? thing : new this(thing);
1614
- },
1615
- accessor: function accessor(header) {
1616
- var internals = this[$internals] = this[$internals] = {
1617
- accessors: {}
1618
- };
1619
- var accessors = internals.accessors;
1620
- var prototype = this.prototype;
1621
- function defineAccessor(_header) {
1622
- var lHeader = normalizeHeader(_header);
1623
- if (!accessors[lHeader]) {
1624
- buildAccessors(prototype, _header);
1625
- accessors[lHeader] = true;
1735
+ }, {
1736
+ key: "accessor",
1737
+ value: function accessor(header) {
1738
+ var internals = this[$internals] = this[$internals] = {
1739
+ accessors: {}
1740
+ };
1741
+ var accessors = internals.accessors;
1742
+ var prototype = this.prototype;
1743
+ function defineAccessor(_header) {
1744
+ var lHeader = normalizeHeader(_header);
1745
+ if (!accessors[lHeader]) {
1746
+ buildAccessors(prototype, _header);
1747
+ accessors[lHeader] = true;
1748
+ }
1626
1749
  }
1750
+ utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);
1751
+ return this;
1627
1752
  }
1628
- utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);
1629
- return this;
1630
- }
1631
- });
1753
+ }]);
1754
+ return AxiosHeaders;
1755
+ }(Symbol.iterator, Symbol.toStringTag);
1632
1756
  AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent']);
1633
1757
  utils.freezeMethods(AxiosHeaders.prototype);
1634
1758
  utils.freezeMethods(AxiosHeaders);
1759
+ var AxiosHeaders$1 = AxiosHeaders;
1635
1760
 
1636
1761
  /**
1637
1762
  * Calculate data maxRate
@@ -1689,7 +1814,8 @@
1689
1814
  progress: total ? loaded / total : undefined,
1690
1815
  bytes: progressBytes,
1691
1816
  rate: rate ? rate : undefined,
1692
- estimated: rate && total && inRange ? (total - loaded) / rate : undefined
1817
+ estimated: rate && total && inRange ? (total - loaded) / rate : undefined,
1818
+ event: e
1693
1819
  };
1694
1820
  data[isDownloadStream ? 'download' : 'upload'] = true;
1695
1821
  listener(data);
@@ -1698,7 +1824,7 @@
1698
1824
  function xhrAdapter(config) {
1699
1825
  return new Promise(function dispatchXhrRequest(resolve, reject) {
1700
1826
  var requestData = config.data;
1701
- var requestHeaders = AxiosHeaders.from(config.headers).normalize();
1827
+ var requestHeaders = AxiosHeaders$1.from(config.headers).normalize();
1702
1828
  var responseType = config.responseType;
1703
1829
  var onCanceled;
1704
1830
  function done() {
@@ -1731,7 +1857,7 @@
1731
1857
  return;
1732
1858
  }
1733
1859
  // Prepare the response
1734
- var responseHeaders = AxiosHeaders.from('getAllResponseHeaders' in request && request.getAllResponseHeaders());
1860
+ var responseHeaders = AxiosHeaders$1.from('getAllResponseHeaders' in request && request.getAllResponseHeaders());
1735
1861
  var responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response;
1736
1862
  var response = {
1737
1863
  data: responseData,
@@ -1898,7 +2024,7 @@
1898
2024
  };
1899
2025
 
1900
2026
  var DEFAULT_CONTENT_TYPE = {
1901
- 'Content-Type': 'application/x-www-form-urlencoded'
2027
+ 'Content-Type': undefined
1902
2028
  };
1903
2029
 
1904
2030
  /**
@@ -2035,6 +2161,7 @@
2035
2161
  utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
2036
2162
  defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
2037
2163
  });
2164
+ var defaults$1 = defaults;
2038
2165
 
2039
2166
  /**
2040
2167
  * Transform the data for a request or a response
@@ -2045,9 +2172,9 @@
2045
2172
  * @returns {*} The resulting transformed data
2046
2173
  */
2047
2174
  function transformData(fns, response) {
2048
- var config = this || defaults;
2175
+ var config = this || defaults$1;
2049
2176
  var context = response || config;
2050
- var headers = AxiosHeaders.from(context.headers);
2177
+ var headers = AxiosHeaders$1.from(context.headers);
2051
2178
  var data = context.data;
2052
2179
  utils.forEach(fns, function transform(fn) {
2053
2180
  data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);
@@ -2085,17 +2212,20 @@
2085
2212
  */
2086
2213
  function dispatchRequest(config) {
2087
2214
  throwIfCancellationRequested(config);
2088
- config.headers = AxiosHeaders.from(config.headers);
2215
+ config.headers = AxiosHeaders$1.from(config.headers);
2089
2216
 
2090
2217
  // Transform request data
2091
2218
  config.data = transformData.call(config, config.transformRequest);
2092
- var adapter = config.adapter || defaults.adapter;
2219
+ if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {
2220
+ config.headers.setContentType('application/x-www-form-urlencoded', false);
2221
+ }
2222
+ var adapter = config.adapter || defaults$1.adapter;
2093
2223
  return adapter(config).then(function onAdapterResolution(response) {
2094
2224
  throwIfCancellationRequested(config);
2095
2225
 
2096
2226
  // Transform response data
2097
2227
  response.data = transformData.call(config, config.transformResponse, response);
2098
- response.headers = AxiosHeaders.from(response.headers);
2228
+ response.headers = AxiosHeaders$1.from(response.headers);
2099
2229
  return response;
2100
2230
  }, function onAdapterRejection(reason) {
2101
2231
  if (!isCancel(reason)) {
@@ -2104,13 +2234,17 @@
2104
2234
  // Transform response data
2105
2235
  if (reason && reason.response) {
2106
2236
  reason.response.data = transformData.call(config, config.transformResponse, reason.response);
2107
- reason.response.headers = AxiosHeaders.from(reason.response.headers);
2237
+ reason.response.headers = AxiosHeaders$1.from(reason.response.headers);
2108
2238
  }
2109
2239
  }
2110
2240
  return Promise.reject(reason);
2111
2241
  });
2112
2242
  }
2113
2243
 
2244
+ var headersToObject = function headersToObject(thing) {
2245
+ return thing instanceof AxiosHeaders$1 ? thing.toJSON() : thing;
2246
+ };
2247
+
2114
2248
  /**
2115
2249
  * Config-specific merge-function which creates a new config-object
2116
2250
  * by merging two configuration objects together.
@@ -2124,9 +2258,11 @@
2124
2258
  // eslint-disable-next-line no-param-reassign
2125
2259
  config2 = config2 || {};
2126
2260
  var config = {};
2127
- function getMergedValue(target, source) {
2261
+ function getMergedValue(target, source, caseless) {
2128
2262
  if (utils.isPlainObject(target) && utils.isPlainObject(source)) {
2129
- return utils.merge(target, source);
2263
+ return utils.merge.call({
2264
+ caseless: caseless
2265
+ }, target, source);
2130
2266
  } else if (utils.isPlainObject(source)) {
2131
2267
  return utils.merge({}, source);
2132
2268
  } else if (utils.isArray(source)) {
@@ -2136,76 +2272,79 @@
2136
2272
  }
2137
2273
 
2138
2274
  // eslint-disable-next-line consistent-return
2139
- function mergeDeepProperties(prop) {
2140
- if (!utils.isUndefined(config2[prop])) {
2141
- return getMergedValue(config1[prop], config2[prop]);
2142
- } else if (!utils.isUndefined(config1[prop])) {
2143
- return getMergedValue(undefined, config1[prop]);
2275
+ function mergeDeepProperties(a, b, caseless) {
2276
+ if (!utils.isUndefined(b)) {
2277
+ return getMergedValue(a, b, caseless);
2278
+ } else if (!utils.isUndefined(a)) {
2279
+ return getMergedValue(undefined, a, caseless);
2144
2280
  }
2145
2281
  }
2146
2282
 
2147
2283
  // eslint-disable-next-line consistent-return
2148
- function valueFromConfig2(prop) {
2149
- if (!utils.isUndefined(config2[prop])) {
2150
- return getMergedValue(undefined, config2[prop]);
2284
+ function valueFromConfig2(a, b) {
2285
+ if (!utils.isUndefined(b)) {
2286
+ return getMergedValue(undefined, b);
2151
2287
  }
2152
2288
  }
2153
2289
 
2154
2290
  // eslint-disable-next-line consistent-return
2155
- function defaultToConfig2(prop) {
2156
- if (!utils.isUndefined(config2[prop])) {
2157
- return getMergedValue(undefined, config2[prop]);
2158
- } else if (!utils.isUndefined(config1[prop])) {
2159
- return getMergedValue(undefined, config1[prop]);
2291
+ function defaultToConfig2(a, b) {
2292
+ if (!utils.isUndefined(b)) {
2293
+ return getMergedValue(undefined, b);
2294
+ } else if (!utils.isUndefined(a)) {
2295
+ return getMergedValue(undefined, a);
2160
2296
  }
2161
2297
  }
2162
2298
 
2163
2299
  // eslint-disable-next-line consistent-return
2164
- function mergeDirectKeys(prop) {
2300
+ function mergeDirectKeys(a, b, prop) {
2165
2301
  if (prop in config2) {
2166
- return getMergedValue(config1[prop], config2[prop]);
2302
+ return getMergedValue(a, b);
2167
2303
  } else if (prop in config1) {
2168
- return getMergedValue(undefined, config1[prop]);
2304
+ return getMergedValue(undefined, a);
2169
2305
  }
2170
2306
  }
2171
2307
  var mergeMap = {
2172
- 'url': valueFromConfig2,
2173
- 'method': valueFromConfig2,
2174
- 'data': valueFromConfig2,
2175
- 'baseURL': defaultToConfig2,
2176
- 'transformRequest': defaultToConfig2,
2177
- 'transformResponse': defaultToConfig2,
2178
- 'paramsSerializer': defaultToConfig2,
2179
- 'timeout': defaultToConfig2,
2180
- 'timeoutMessage': defaultToConfig2,
2181
- 'withCredentials': defaultToConfig2,
2182
- 'adapter': defaultToConfig2,
2183
- 'responseType': defaultToConfig2,
2184
- 'xsrfCookieName': defaultToConfig2,
2185
- 'xsrfHeaderName': defaultToConfig2,
2186
- 'onUploadProgress': defaultToConfig2,
2187
- 'onDownloadProgress': defaultToConfig2,
2188
- 'decompress': defaultToConfig2,
2189
- 'maxContentLength': defaultToConfig2,
2190
- 'maxBodyLength': defaultToConfig2,
2191
- 'beforeRedirect': defaultToConfig2,
2192
- 'transport': defaultToConfig2,
2193
- 'httpAgent': defaultToConfig2,
2194
- 'httpsAgent': defaultToConfig2,
2195
- 'cancelToken': defaultToConfig2,
2196
- 'socketPath': defaultToConfig2,
2197
- 'responseEncoding': defaultToConfig2,
2198
- 'validateStatus': mergeDirectKeys
2308
+ url: valueFromConfig2,
2309
+ method: valueFromConfig2,
2310
+ data: valueFromConfig2,
2311
+ baseURL: defaultToConfig2,
2312
+ transformRequest: defaultToConfig2,
2313
+ transformResponse: defaultToConfig2,
2314
+ paramsSerializer: defaultToConfig2,
2315
+ timeout: defaultToConfig2,
2316
+ timeoutMessage: defaultToConfig2,
2317
+ withCredentials: defaultToConfig2,
2318
+ adapter: defaultToConfig2,
2319
+ responseType: defaultToConfig2,
2320
+ xsrfCookieName: defaultToConfig2,
2321
+ xsrfHeaderName: defaultToConfig2,
2322
+ onUploadProgress: defaultToConfig2,
2323
+ onDownloadProgress: defaultToConfig2,
2324
+ decompress: defaultToConfig2,
2325
+ maxContentLength: defaultToConfig2,
2326
+ maxBodyLength: defaultToConfig2,
2327
+ beforeRedirect: defaultToConfig2,
2328
+ transport: defaultToConfig2,
2329
+ httpAgent: defaultToConfig2,
2330
+ httpsAgent: defaultToConfig2,
2331
+ cancelToken: defaultToConfig2,
2332
+ socketPath: defaultToConfig2,
2333
+ responseEncoding: defaultToConfig2,
2334
+ validateStatus: mergeDirectKeys,
2335
+ headers: function headers(a, b) {
2336
+ return mergeDeepProperties(headersToObject(a), headersToObject(b), true);
2337
+ }
2199
2338
  };
2200
2339
  utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {
2201
2340
  var merge = mergeMap[prop] || mergeDeepProperties;
2202
- var configValue = merge(prop);
2341
+ var configValue = merge(config1[prop], config2[prop], prop);
2203
2342
  utils.isUndefined(configValue) && merge !== mergeDirectKeys || (config[prop] = configValue);
2204
2343
  });
2205
2344
  return config;
2206
2345
  }
2207
2346
 
2208
- var VERSION = "1.1.3";
2347
+ var VERSION = "1.2.0-alpha.1";
2209
2348
 
2210
2349
  var validators$1 = {};
2211
2350
 
@@ -2296,8 +2435,8 @@
2296
2435
  _classCallCheck(this, Axios);
2297
2436
  this.defaults = instanceConfig;
2298
2437
  this.interceptors = {
2299
- request: new InterceptorManager(),
2300
- response: new InterceptorManager()
2438
+ request: new InterceptorManager$1(),
2439
+ response: new InterceptorManager$1()
2301
2440
  };
2302
2441
  }
2303
2442
 
@@ -2323,7 +2462,8 @@
2323
2462
  config = mergeConfig(this.defaults, config);
2324
2463
  var _config = config,
2325
2464
  transitional = _config.transitional,
2326
- paramsSerializer = _config.paramsSerializer;
2465
+ paramsSerializer = _config.paramsSerializer,
2466
+ headers = _config.headers;
2327
2467
  if (transitional !== undefined) {
2328
2468
  validator.assertOptions(transitional, {
2329
2469
  silentJSONParsing: validators.transitional(validators["boolean"]),
@@ -2340,13 +2480,14 @@
2340
2480
 
2341
2481
  // Set config.method
2342
2482
  config.method = (config.method || this.defaults.method || 'get').toLowerCase();
2483
+ var contextHeaders;
2343
2484
 
2344
2485
  // Flatten headers
2345
- var defaultHeaders = config.headers && utils.merge(config.headers.common, config.headers[config.method]);
2346
- defaultHeaders && utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function cleanHeaderConfig(method) {
2347
- delete config.headers[method];
2486
+ contextHeaders = headers && utils.merge(headers.common, headers[config.method]);
2487
+ contextHeaders && utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function (method) {
2488
+ delete headers[method];
2348
2489
  });
2349
- config.headers = new AxiosHeaders(config.headers, defaultHeaders);
2490
+ config.headers = AxiosHeaders$1.concat(contextHeaders, headers);
2350
2491
 
2351
2492
  // filter out skipped interceptors
2352
2493
  var requestInterceptorChain = [];
@@ -2439,6 +2580,7 @@
2439
2580
  Axios.prototype[method] = generateHTTPMethod();
2440
2581
  Axios.prototype[method + 'Form'] = generateHTTPMethod(true);
2441
2582
  });
2583
+ var Axios$1 = Axios;
2442
2584
 
2443
2585
  /**
2444
2586
  * A `CancelToken` is an object that can be used to request cancellation of an operation.
@@ -2554,6 +2696,7 @@
2554
2696
  }]);
2555
2697
  return CancelToken;
2556
2698
  }();
2699
+ var CancelToken$1 = CancelToken;
2557
2700
 
2558
2701
  /**
2559
2702
  * Syntactic sugar for invoking a function and expanding an array for arguments.
@@ -2601,11 +2744,11 @@
2601
2744
  * @returns {Axios} A new instance of Axios
2602
2745
  */
2603
2746
  function createInstance(defaultConfig) {
2604
- var context = new Axios(defaultConfig);
2605
- var instance = bind(Axios.prototype.request, context);
2747
+ var context = new Axios$1(defaultConfig);
2748
+ var instance = bind(Axios$1.prototype.request, context);
2606
2749
 
2607
2750
  // Copy axios.prototype to instance
2608
- utils.extend(instance, Axios.prototype, context, {
2751
+ utils.extend(instance, Axios$1.prototype, context, {
2609
2752
  allOwnKeys: true
2610
2753
  });
2611
2754
 
@@ -2622,14 +2765,14 @@
2622
2765
  }
2623
2766
 
2624
2767
  // Create the default instance to be exported
2625
- var axios = createInstance(defaults);
2768
+ var axios = createInstance(defaults$1);
2626
2769
 
2627
2770
  // Expose Axios class to allow class inheritance
2628
- axios.Axios = Axios;
2771
+ axios.Axios = Axios$1;
2629
2772
 
2630
2773
  // Expose Cancel & CancelToken
2631
2774
  axios.CanceledError = CanceledError;
2632
- axios.CancelToken = CancelToken;
2775
+ axios.CancelToken = CancelToken$1;
2633
2776
  axios.isCancel = isCancel;
2634
2777
  axios.VERSION = VERSION;
2635
2778
  axios.toFormData = toFormData;
@@ -2648,9 +2791,11 @@
2648
2791
 
2649
2792
  // Expose isAxiosError
2650
2793
  axios.isAxiosError = isAxiosError;
2794
+ axios.AxiosHeaders = AxiosHeaders$1;
2651
2795
  axios.formToJSON = function (thing) {
2652
2796
  return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);
2653
2797
  };
2798
+ axios["default"] = axios;
2654
2799
 
2655
2800
  return axios;
2656
2801