axios 0.5.0 → 0.5.4
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/CHANGELOG.md +18 -1
- package/COOKBOOK.md +127 -0
- package/README.md +7 -2
- package/coverage/lcov-report/base.css +182 -0
- package/coverage/lcov-report/dist/axios.js.html +6075 -0
- package/coverage/lcov-report/dist/index.html +85 -0
- package/coverage/lcov-report/index.html +85 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +1 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +156 -0
- package/coverage/lcov-report/webpack.tests.js.html +10236 -0
- package/coverage/lcov.info +2366 -0
- package/dist/axios.amd.js +118 -116
- package/dist/axios.amd.map +1 -1
- package/dist/axios.amd.min.js +3 -3
- package/dist/axios.amd.min.map +1 -1
- package/dist/axios.amd.standalone.js +118 -116
- package/dist/axios.amd.standalone.map +1 -1
- package/dist/axios.amd.standalone.min.js +2 -2
- package/dist/axios.amd.standalone.min.map +1 -1
- package/dist/axios.js +118 -116
- package/dist/axios.map +1 -1
- package/dist/axios.min.js +3 -3
- package/dist/axios.min.map +1 -1
- package/dist/axios.standalone.js +118 -116
- package/dist/axios.standalone.map +1 -1
- package/dist/axios.standalone.min.js +2 -2
- package/dist/axios.standalone.min.map +1 -1
- package/examples/README.md +9 -0
- package/examples/all/index.html +44 -0
- package/examples/amd/index.html +37 -0
- package/examples/get/index.html +33 -0
- package/examples/get/people.json +26 -0
- package/examples/post/index.html +45 -0
- package/examples/server.js +98 -0
- package/examples/transform-response/index.html +44 -0
- package/examples/upload/index.html +43 -0
- package/examples/upload/server.js +11 -0
- package/lib/adapters/http.js +10 -7
- package/lib/adapters/xhr.js +23 -17
- package/lib/axios.js +36 -26
- package/lib/core/InterceptorManager.js +2 -3
- package/lib/core/dispatchRequest.js +0 -2
- package/lib/defaults.js +6 -5
- package/lib/helpers/cookies.js +1 -1
- package/lib/helpers/parseHeaders.js +2 -2
- package/lib/helpers/spread.js +3 -1
- package/lib/helpers/transformData.js +1 -1
- package/lib/helpers/urlIsSameOrigin.js +8 -6
- package/lib/utils.js +10 -6
- package/package.json +20 -12
- package/webpack.config.js +5 -10
- package/webpack.tests.js +2 -0
package/dist/axios.js
CHANGED
@@ -51,6 +51,8 @@ var axios =
|
|
51
51
|
/* 1 */
|
52
52
|
/***/ function(module, exports, __webpack_require__) {
|
53
53
|
|
54
|
+
'use strict';
|
55
|
+
|
54
56
|
var defaults = __webpack_require__(2);
|
55
57
|
var utils = __webpack_require__(3);
|
56
58
|
var deprecatedMethod = __webpack_require__(4);
|
@@ -58,7 +60,14 @@ var axios =
|
|
58
60
|
var InterceptorManager = __webpack_require__(6);
|
59
61
|
|
60
62
|
// Polyfill ES6 Promise if needed
|
61
|
-
|
63
|
+
(function () {
|
64
|
+
// webpack is being used to set es6-promise to the native Promise
|
65
|
+
// for the standalone build. It's necessary to make sure polyfill exists.
|
66
|
+
var P = __webpack_require__(9);
|
67
|
+
if (P && typeof P.polyfill === 'function') {
|
68
|
+
P.polyfill();
|
69
|
+
}
|
70
|
+
})();
|
62
71
|
|
63
72
|
var axios = module.exports = function axios(config) {
|
64
73
|
config = utils.merge({
|
@@ -126,32 +135,33 @@ var axios =
|
|
126
135
|
};
|
127
136
|
|
128
137
|
// Provide aliases for supported request methods
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
});
|
141
|
-
}
|
138
|
+
(function () {
|
139
|
+
function createShortMethods() {
|
140
|
+
utils.forEach(arguments, function (method) {
|
141
|
+
axios[method] = function (url, config) {
|
142
|
+
return axios(utils.merge(config || {}, {
|
143
|
+
method: method,
|
144
|
+
url: url
|
145
|
+
}));
|
146
|
+
};
|
147
|
+
});
|
148
|
+
}
|
142
149
|
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
150
|
+
function createShortMethodsWithData() {
|
151
|
+
utils.forEach(arguments, function (method) {
|
152
|
+
axios[method] = function (url, data, config) {
|
153
|
+
return axios(utils.merge(config || {}, {
|
154
|
+
method: method,
|
155
|
+
url: url,
|
156
|
+
data: data
|
157
|
+
}));
|
158
|
+
};
|
159
|
+
});
|
160
|
+
}
|
154
161
|
|
162
|
+
createShortMethods('delete', 'get', 'head');
|
163
|
+
createShortMethodsWithData('post', 'put', 'patch');
|
164
|
+
})();
|
155
165
|
|
156
166
|
|
157
167
|
/***/ },
|
@@ -162,8 +172,6 @@ var axios =
|
|
162
172
|
|
163
173
|
var utils = __webpack_require__(3);
|
164
174
|
|
165
|
-
var JSON_START = /^\s*(\[|\{[^\{])/;
|
166
|
-
var JSON_END = /[\}\]]\s*$/;
|
167
175
|
var PROTECTION_PREFIX = /^\)\]\}',?\n/;
|
168
176
|
var DEFAULT_CONTENT_TYPE = {
|
169
177
|
'Content-Type': 'application/x-www-form-urlencoded'
|
@@ -171,6 +179,9 @@ var axios =
|
|
171
179
|
|
172
180
|
module.exports = {
|
173
181
|
transformRequest: [function (data, headers) {
|
182
|
+
if(utils.isFormData(data)) {
|
183
|
+
return data;
|
184
|
+
}
|
174
185
|
if (utils.isArrayBuffer(data)) {
|
175
186
|
return data;
|
176
187
|
}
|
@@ -190,9 +201,9 @@ var axios =
|
|
190
201
|
transformResponse: [function (data) {
|
191
202
|
if (typeof data === 'string') {
|
192
203
|
data = data.replace(PROTECTION_PREFIX, '');
|
193
|
-
|
204
|
+
try {
|
194
205
|
data = JSON.parse(data);
|
195
|
-
}
|
206
|
+
} catch (e) {}
|
196
207
|
}
|
197
208
|
return data;
|
198
209
|
}],
|
@@ -210,10 +221,15 @@ var axios =
|
|
210
221
|
xsrfHeaderName: 'X-XSRF-TOKEN'
|
211
222
|
};
|
212
223
|
|
224
|
+
|
213
225
|
/***/ },
|
214
226
|
/* 3 */
|
215
227
|
/***/ function(module, exports, __webpack_require__) {
|
216
228
|
|
229
|
+
'use strict';
|
230
|
+
|
231
|
+
/*global toString:true*/
|
232
|
+
|
217
233
|
// utils is a library of generic helper functions non-specific to axios
|
218
234
|
|
219
235
|
var toString = Object.prototype.toString;
|
@@ -361,16 +377,16 @@ var axios =
|
|
361
377
|
}
|
362
378
|
|
363
379
|
// Check if obj is array-like
|
364
|
-
var
|
380
|
+
var isArrayLike = isArray(obj) || (typeof obj === 'object' && !isNaN(obj.length));
|
365
381
|
|
366
382
|
// Force an array if not already something iterable
|
367
|
-
if (typeof obj !== 'object' && !
|
383
|
+
if (typeof obj !== 'object' && !isArrayLike) {
|
368
384
|
obj = [obj];
|
369
385
|
}
|
370
386
|
|
371
387
|
// Iterate over array values
|
372
|
-
if (
|
373
|
-
for (var i=0, l=obj.length; i<l; i++) {
|
388
|
+
if (isArrayLike) {
|
389
|
+
for (var i = 0, l = obj.length; i < l; i++) {
|
374
390
|
fn.call(null, obj[i], i, obj);
|
375
391
|
}
|
376
392
|
}
|
@@ -401,7 +417,7 @@ var axios =
|
|
401
417
|
* @param {Object} obj1 Object to merge
|
402
418
|
* @returns {Object} Result of all merge properties
|
403
419
|
*/
|
404
|
-
function merge(obj1
|
420
|
+
function merge(/*obj1, obj2, obj3, ...*/) {
|
405
421
|
var result = {};
|
406
422
|
forEach(arguments, function (obj) {
|
407
423
|
forEach(obj, function (val, key) {
|
@@ -428,6 +444,7 @@ var axios =
|
|
428
444
|
trim: trim
|
429
445
|
};
|
430
446
|
|
447
|
+
|
431
448
|
/***/ },
|
432
449
|
/* 4 */
|
433
450
|
/***/ function(module, exports, __webpack_require__) {
|
@@ -462,8 +479,6 @@ var axios =
|
|
462
479
|
|
463
480
|
/* WEBPACK VAR INJECTION */(function(process) {'use strict';
|
464
481
|
|
465
|
-
var Promise = __webpack_require__(9).Promise;
|
466
|
-
|
467
482
|
/**
|
468
483
|
* Dispatch a request to the server using whichever adapter
|
469
484
|
* is supported by the current environment.
|
@@ -501,7 +516,7 @@ var axios =
|
|
501
516
|
|
502
517
|
function InterceptorManager() {
|
503
518
|
this.handlers = [];
|
504
|
-
}
|
519
|
+
}
|
505
520
|
|
506
521
|
/**
|
507
522
|
* Add a new interceptor to the stack
|
@@ -542,18 +557,19 @@ var axios =
|
|
542
557
|
utils.forEach(this.handlers, function (h) {
|
543
558
|
if (h !== null) {
|
544
559
|
fn(h);
|
545
|
-
}
|
560
|
+
}
|
546
561
|
});
|
547
562
|
};
|
548
563
|
|
549
564
|
module.exports = InterceptorManager;
|
550
|
-
|
551
565
|
|
552
566
|
|
553
567
|
/***/ },
|
554
568
|
/* 7 */
|
555
569
|
/***/ function(module, exports, __webpack_require__) {
|
556
570
|
|
571
|
+
'use strict';
|
572
|
+
|
557
573
|
/**
|
558
574
|
* Syntactic sugar for invoking a function and expanding an array for arguments.
|
559
575
|
*
|
@@ -580,10 +596,15 @@ var axios =
|
|
580
596
|
};
|
581
597
|
};
|
582
598
|
|
599
|
+
|
583
600
|
/***/ },
|
584
601
|
/* 8 */
|
585
602
|
/***/ function(module, exports, __webpack_require__) {
|
586
603
|
|
604
|
+
'use strict';
|
605
|
+
|
606
|
+
/*global ActiveXObject:true*/
|
607
|
+
|
587
608
|
var defaults = __webpack_require__(2);
|
588
609
|
var utils = __webpack_require__(3);
|
589
610
|
var buildUrl = __webpack_require__(11);
|
@@ -601,40 +622,42 @@ var axios =
|
|
601
622
|
);
|
602
623
|
|
603
624
|
// Merge headers
|
604
|
-
var
|
625
|
+
var requestHeaders = utils.merge(
|
605
626
|
defaults.headers.common,
|
606
627
|
defaults.headers[config.method] || {},
|
607
628
|
config.headers || {}
|
608
629
|
);
|
609
630
|
|
610
631
|
if (utils.isFormData(data)) {
|
611
|
-
delete
|
632
|
+
delete requestHeaders['Content-Type']; // Let the browser set it
|
612
633
|
}
|
613
634
|
|
614
635
|
// Create the request
|
615
|
-
var request = new(XMLHttpRequest || ActiveXObject)('Microsoft.XMLHTTP');
|
636
|
+
var request = new (XMLHttpRequest || ActiveXObject)('Microsoft.XMLHTTP');
|
616
637
|
request.open(config.method.toUpperCase(), buildUrl(config.url, config.params), true);
|
617
638
|
|
618
639
|
// Listen for ready state
|
619
640
|
request.onreadystatechange = function () {
|
620
641
|
if (request && request.readyState === 4) {
|
621
642
|
// Prepare the response
|
622
|
-
var
|
643
|
+
var responseHeaders = parseHeaders(request.getAllResponseHeaders());
|
644
|
+
var responseData = ['text', ''].indexOf(config.responseType || '') !== -1 ? request.responseText : request.response;
|
623
645
|
var response = {
|
624
646
|
data: transformData(
|
625
|
-
|
626
|
-
|
647
|
+
responseData,
|
648
|
+
responseHeaders,
|
627
649
|
config.transformResponse
|
628
650
|
),
|
629
651
|
status: request.status,
|
630
|
-
|
652
|
+
statusText: request.statusText,
|
653
|
+
headers: responseHeaders,
|
631
654
|
config: config
|
632
655
|
};
|
633
656
|
|
634
657
|
// Resolve or reject the Promise based on the status
|
635
|
-
(request.status >= 200 && request.status < 300
|
636
|
-
|
637
|
-
|
658
|
+
(request.status >= 200 && request.status < 300 ?
|
659
|
+
resolve :
|
660
|
+
reject)(response);
|
638
661
|
|
639
662
|
// Clean up request
|
640
663
|
request = null;
|
@@ -642,18 +665,18 @@ var axios =
|
|
642
665
|
};
|
643
666
|
|
644
667
|
// Add xsrf header
|
645
|
-
var xsrfValue = urlIsSameOrigin(config.url)
|
646
|
-
|
647
|
-
|
668
|
+
var xsrfValue = urlIsSameOrigin(config.url) ?
|
669
|
+
cookies.read(config.xsrfCookieName || defaults.xsrfCookieName) :
|
670
|
+
undefined;
|
648
671
|
if (xsrfValue) {
|
649
|
-
|
672
|
+
requestHeaders[config.xsrfHeaderName || defaults.xsrfHeaderName] = xsrfValue;
|
650
673
|
}
|
651
674
|
|
652
675
|
// Add headers to the request
|
653
|
-
utils.forEach(
|
676
|
+
utils.forEach(requestHeaders, function (val, key) {
|
654
677
|
// Remove Content-Type if data is undefined
|
655
678
|
if (!data && key.toLowerCase() === 'content-type') {
|
656
|
-
delete
|
679
|
+
delete requestHeaders[key];
|
657
680
|
}
|
658
681
|
// Otherwise add header to the request
|
659
682
|
else {
|
@@ -685,6 +708,7 @@ var axios =
|
|
685
708
|
request.send(data);
|
686
709
|
};
|
687
710
|
|
711
|
+
|
688
712
|
/***/ },
|
689
713
|
/* 9 */
|
690
714
|
/***/ function(module, exports, __webpack_require__) {
|
@@ -1658,69 +1682,40 @@ var axios =
|
|
1658
1682
|
// shim for using process in browser
|
1659
1683
|
|
1660
1684
|
var process = module.exports = {};
|
1685
|
+
var queue = [];
|
1686
|
+
var draining = false;
|
1661
1687
|
|
1662
|
-
|
1663
|
-
|
1664
|
-
|
1665
|
-
var canMutationObserver = typeof window !== 'undefined'
|
1666
|
-
&& window.MutationObserver;
|
1667
|
-
var canPost = typeof window !== 'undefined'
|
1668
|
-
&& window.postMessage && window.addEventListener
|
1669
|
-
;
|
1670
|
-
|
1671
|
-
if (canSetImmediate) {
|
1672
|
-
return function (f) { return window.setImmediate(f) };
|
1688
|
+
function drainQueue() {
|
1689
|
+
if (draining) {
|
1690
|
+
return;
|
1673
1691
|
}
|
1674
|
-
|
1675
|
-
var
|
1676
|
-
|
1677
|
-
|
1678
|
-
|
1679
|
-
|
1680
|
-
|
1681
|
-
|
1682
|
-
|
1683
|
-
|
1684
|
-
|
1685
|
-
});
|
1686
|
-
|
1687
|
-
observer.observe(hiddenDiv, { attributes: true });
|
1688
|
-
|
1689
|
-
return function nextTick(fn) {
|
1690
|
-
if (!queue.length) {
|
1691
|
-
hiddenDiv.setAttribute('yes', 'no');
|
1692
|
-
}
|
1693
|
-
queue.push(fn);
|
1694
|
-
};
|
1692
|
+
draining = true;
|
1693
|
+
var currentQueue;
|
1694
|
+
var len = queue.length;
|
1695
|
+
while(len) {
|
1696
|
+
currentQueue = queue;
|
1697
|
+
queue = [];
|
1698
|
+
var i = -1;
|
1699
|
+
while (++i < len) {
|
1700
|
+
currentQueue[i]();
|
1701
|
+
}
|
1702
|
+
len = queue.length;
|
1695
1703
|
}
|
1696
|
-
|
1697
|
-
|
1698
|
-
|
1699
|
-
|
1700
|
-
|
1701
|
-
|
1702
|
-
if (queue.length > 0) {
|
1703
|
-
var fn = queue.shift();
|
1704
|
-
fn();
|
1705
|
-
}
|
1706
|
-
}
|
1707
|
-
}, true);
|
1708
|
-
|
1709
|
-
return function nextTick(fn) {
|
1710
|
-
queue.push(fn);
|
1711
|
-
window.postMessage('process-tick', '*');
|
1712
|
-
};
|
1704
|
+
draining = false;
|
1705
|
+
}
|
1706
|
+
process.nextTick = function (fun) {
|
1707
|
+
queue.push(fun);
|
1708
|
+
if (!draining) {
|
1709
|
+
setTimeout(drainQueue, 0);
|
1713
1710
|
}
|
1714
|
-
|
1715
|
-
return function nextTick(fn) {
|
1716
|
-
setTimeout(fn, 0);
|
1717
|
-
};
|
1718
|
-
})();
|
1711
|
+
};
|
1719
1712
|
|
1720
1713
|
process.title = 'browser';
|
1721
1714
|
process.browser = true;
|
1722
1715
|
process.env = {};
|
1723
1716
|
process.argv = [];
|
1717
|
+
process.version = ''; // empty string to avoid regexp issues
|
1718
|
+
process.versions = {};
|
1724
1719
|
|
1725
1720
|
function noop() {}
|
1726
1721
|
|
@@ -1741,6 +1736,7 @@ var axios =
|
|
1741
1736
|
process.chdir = function (dir) {
|
1742
1737
|
throw new Error('process.chdir is not supported');
|
1743
1738
|
};
|
1739
|
+
process.umask = function() { return 0; };
|
1744
1740
|
|
1745
1741
|
|
1746
1742
|
/***/ },
|
@@ -1843,6 +1839,7 @@ var axios =
|
|
1843
1839
|
}
|
1844
1840
|
};
|
1845
1841
|
|
1842
|
+
|
1846
1843
|
/***/ },
|
1847
1844
|
/* 13 */
|
1848
1845
|
/***/ function(module, exports, __webpack_require__) {
|
@@ -1867,7 +1864,7 @@ var axios =
|
|
1867
1864
|
module.exports = function parseHeaders(headers) {
|
1868
1865
|
var parsed = {}, key, val, i;
|
1869
1866
|
|
1870
|
-
if (!headers) return parsed;
|
1867
|
+
if (!headers) { return parsed; }
|
1871
1868
|
|
1872
1869
|
utils.forEach(headers.split('\n'), function(line) {
|
1873
1870
|
i = line.indexOf(':');
|
@@ -1882,6 +1879,7 @@ var axios =
|
|
1882
1879
|
return parsed;
|
1883
1880
|
};
|
1884
1881
|
|
1882
|
+
|
1885
1883
|
/***/ },
|
1886
1884
|
/* 14 */
|
1887
1885
|
/***/ function(module, exports, __webpack_require__) {
|
@@ -1906,16 +1904,17 @@ var axios =
|
|
1906
1904
|
return data;
|
1907
1905
|
};
|
1908
1906
|
|
1907
|
+
|
1909
1908
|
/***/ },
|
1910
1909
|
/* 15 */
|
1911
1910
|
/***/ function(module, exports, __webpack_require__) {
|
1912
1911
|
|
1913
1912
|
'use strict';
|
1914
1913
|
|
1915
|
-
var msie = /(msie|trident)/i.test(navigator.userAgent);
|
1916
1914
|
var utils = __webpack_require__(3);
|
1915
|
+
var msie = /(msie|trident)/i.test(navigator.userAgent);
|
1917
1916
|
var urlParsingNode = document.createElement('a');
|
1918
|
-
var originUrl
|
1917
|
+
var originUrl;
|
1919
1918
|
|
1920
1919
|
/**
|
1921
1920
|
* Parse a URL to discover it's components
|
@@ -1943,12 +1942,14 @@ var axios =
|
|
1943
1942
|
hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
|
1944
1943
|
hostname: urlParsingNode.hostname,
|
1945
1944
|
port: urlParsingNode.port,
|
1946
|
-
pathname: (urlParsingNode.pathname.charAt(0) === '/')
|
1947
|
-
|
1948
|
-
|
1945
|
+
pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
|
1946
|
+
urlParsingNode.pathname :
|
1947
|
+
'/' + urlParsingNode.pathname
|
1949
1948
|
};
|
1950
1949
|
}
|
1951
1950
|
|
1951
|
+
originUrl = urlResolve(window.location.href);
|
1952
|
+
|
1952
1953
|
/**
|
1953
1954
|
* Determine if a URL shares the same origin as the current location
|
1954
1955
|
*
|
@@ -1961,6 +1962,7 @@ var axios =
|
|
1961
1962
|
parsed.host === originUrl.host);
|
1962
1963
|
};
|
1963
1964
|
|
1965
|
+
|
1964
1966
|
/***/ },
|
1965
1967
|
/* 16 */
|
1966
1968
|
/***/ function(module, exports, __webpack_require__) {
|
@@ -1985,5 +1987,5 @@ var axios =
|
|
1985
1987
|
|
1986
1988
|
|
1987
1989
|
/***/ }
|
1988
|
-
/******/ ])
|
1990
|
+
/******/ ]);
|
1989
1991
|
//# sourceMappingURL=axios.map
|