Comparing version 0.14.0 to 0.15.0
@@ -44,2 +44,3 @@ export interface AxiosTransformer { | ||
proxy?: AxiosProxyConfig; | ||
cancelToken?: CancelToken; | ||
} | ||
@@ -70,2 +71,30 @@ | ||
export interface CancelStatic { | ||
new (message?: string): Cancel; | ||
} | ||
export interface Cancel { | ||
message: string; | ||
} | ||
export interface Canceler { | ||
(message?: string): void; | ||
} | ||
export interface CancelTokenStatic { | ||
new (executor: (cancel: Canceler) => void): CancelToken; | ||
source(): CancelTokenSource; | ||
} | ||
export interface CancelToken { | ||
promise: Promise<Cancel>; | ||
reason?: Cancel; | ||
throwIfRequested(): void; | ||
} | ||
export interface CancelTokenSource { | ||
token: CancelToken; | ||
cancel: Canceler; | ||
} | ||
export interface AxiosInterceptorManager<V> { | ||
@@ -95,2 +124,5 @@ use(onFulfilled: (value: V) => V | Promise<V>, onRejected?: (error: any) => any): number; | ||
create(config?: AxiosRequestConfig): AxiosInstance; | ||
Cancel: CancelStatic; | ||
CancelToken: CancelTokenStatic; | ||
isCancel(value: any): boolean; | ||
all<T>(values: (T | Promise<T>)[]): Promise<T[]>; | ||
@@ -97,0 +129,0 @@ spread<T, R>(callback: (...args: T[]) => R): (array: T[]) => R; |
# Changelog | ||
### 0.15.0 (Oct 10, 2016) | ||
- Adding cancellation support ([#452](https://github.com/mzabriskie/axios/pull/452)) | ||
- Moving default adapter to global defaults ([#437](https://github.com/mzabriskie/axios/pull/437)) | ||
- Fixing issue with `file` URI scheme ([#440](https://github.com/mzabriskie/axios/pull/440)) | ||
- Fixing issue with `params` objects that have no prototype ([#445](https://github.com/mzabriskie/axios/pull/445)) | ||
### 0.14.0 (Aug 27, 2016) | ||
- Updating TypeScript definitions ([#419](https://github.com/mzabriskie/axios/pull/419)) | ||
- **BREAKING** Updating TypeScript definitions ([#419](https://github.com/mzabriskie/axios/pull/419)) | ||
- **BREAKING** Replacing `agent` option with `httpAgent` and `httpsAgent` ([#387](https://github.com/mzabriskie/axios/pull/387)) | ||
- **BREAKING** Splitting `progress` event handlers into `onUploadProgress` and `onDownloadProgress` ([#423](https://github.com/mzabriskie/axios/pull/423)) | ||
- Adding support for `http_proxy` and `https_proxy` environment variables ([#366](https://github.com/mzabriskie/axios/pull/366)) | ||
- Replacing `agent` option with `httpAgent` and `httpsAgent` ([#387](https://github.com/mzabriskie/axios/pull/387)) | ||
- Splitting `progress` event handlers into `onUploadProgress` and `onDownloadProgress` ([#423](https://github.com/mzabriskie/axios/pull/423)) | ||
- Fixing issue with `auth` config option and `Authorization` header ([#397](https://github.com/mzabriskie/axios/pull/397)) | ||
@@ -18,3 +25,5 @@ - Don't set XSRF header if `xsrfCookieName` is `null` ([#406](https://github.com/mzabriskie/axios/pull/406)) | ||
- Improved error handling ([#345](https://github.com/mzabriskie/axios/pull/345)) | ||
- **BREAKING** Improved error handling ([#345](https://github.com/mzabriskie/axios/pull/345)) | ||
- **BREAKING** Response transformer now invoked in dispatcher not adapter ([10eb238](https://github.com/mzabriskie/axios/commit/10eb23865101f9347570552c04e9d6211376e25e)) | ||
- **BREAKING** Request adapters now return a `Promise` ([157efd5](https://github.com/mzabriskie/axios/commit/157efd5615890301824e3121cc6c9d2f9b21f94a)) | ||
- Fixing issue with `withCredentials` not being overwritten ([#343](https://github.com/mzabriskie/axios/issues/343)) | ||
@@ -24,4 +33,2 @@ - Fixing regression with request transformer being called before request interceptor ([#352](https://github.com/mzabriskie/axios/issues/352)) | ||
- Fixing instances created from `axios.create` to have same API as default axios ([#217](https://github.com/mzabriskie/axios/issues/217)) | ||
- Response transformer now invoked in dispatcher not adapter ([10eb238](https://github.com/mzabriskie/axios/commit/10eb23865101f9347570552c04e9d6211376e25e)) | ||
- Request adapters now return a `Promise` ([157efd5](https://github.com/mzabriskie/axios/commit/157efd5615890301824e3121cc6c9d2f9b21f94a)) | ||
@@ -28,0 +35,0 @@ ### 0.12.0 (May 31, 2016) |
@@ -1,12 +0,12 @@ | ||
/* axios v0.14.0 | (c) 2016 by Matt Zabriskie */ | ||
/* axios v0.15.0 | (c) 2016 by Matt Zabriskie */ | ||
(function webpackUniversalModuleDefinition(root, factory) { | ||
if(typeof exports === 'object' && typeof module === 'object') | ||
module.exports = factory(); | ||
module.exports = factory(require("undefined")); | ||
else if(typeof define === 'function' && define.amd) | ||
define([], factory); | ||
define(["undefined"], factory); | ||
else if(typeof exports === 'object') | ||
exports["axios"] = factory(); | ||
exports["axios"] = factory(require("undefined")); | ||
else | ||
root["axios"] = factory(); | ||
})(this, function() { | ||
root["axios"] = factory(root["undefined"]); | ||
})(this, function(__WEBPACK_EXTERNAL_MODULE_16__) { | ||
return /******/ (function(modules) { // webpackBootstrap | ||
@@ -100,2 +100,7 @@ /******/ // The module cache | ||
// Expose Cancel & CancelToken | ||
axios.Cancel = __webpack_require__(23); | ||
axios.CancelToken = __webpack_require__(24); | ||
axios.isCancel = __webpack_require__(20); | ||
// Expose all/spread | ||
@@ -105,3 +110,3 @@ axios.all = function all(promises) { | ||
}; | ||
axios.spread = __webpack_require__(21); | ||
axios.spread = __webpack_require__(25); | ||
@@ -337,3 +342,3 @@ module.exports = axios; | ||
for (var key in obj) { | ||
if (obj.hasOwnProperty(key)) { | ||
if (Object.prototype.hasOwnProperty.call(obj, key)) { | ||
fn.call(null, obj[key], key, obj); | ||
@@ -445,6 +450,6 @@ } | ||
var utils = __webpack_require__(2); | ||
var InterceptorManager = __webpack_require__(7); | ||
var dispatchRequest = __webpack_require__(8); | ||
var isAbsoluteURL = __webpack_require__(19); | ||
var combineURLs = __webpack_require__(20); | ||
var InterceptorManager = __webpack_require__(17); | ||
var dispatchRequest = __webpack_require__(18); | ||
var isAbsoluteURL = __webpack_require__(21); | ||
var combineURLs = __webpack_require__(22); | ||
@@ -549,3 +554,17 @@ /** | ||
function getDefaultAdapter() { | ||
var adapter; | ||
if (typeof XMLHttpRequest !== 'undefined') { | ||
// For browsers use XHR adapter | ||
adapter = __webpack_require__(7); | ||
} else if (typeof process !== 'undefined') { | ||
// For node use HTTP adapter | ||
adapter = __webpack_require__(16); | ||
} | ||
return adapter; | ||
} | ||
module.exports = { | ||
adapter: getDefaultAdapter(), | ||
transformRequest: [function transformRequest(data, headers) { | ||
@@ -633,174 +652,9 @@ normalizeHeaderName(headers, 'Content-Type'); | ||
var utils = __webpack_require__(2); | ||
var settle = __webpack_require__(8); | ||
var buildURL = __webpack_require__(11); | ||
var parseHeaders = __webpack_require__(12); | ||
var isURLSameOrigin = __webpack_require__(13); | ||
var createError = __webpack_require__(9); | ||
var btoa = (typeof window !== 'undefined' && window.btoa) || __webpack_require__(14); | ||
function InterceptorManager() { | ||
this.handlers = []; | ||
} | ||
/** | ||
* Add a new interceptor to the stack | ||
* | ||
* @param {Function} fulfilled The function to handle `then` for a `Promise` | ||
* @param {Function} rejected The function to handle `reject` for a `Promise` | ||
* | ||
* @return {Number} An ID used to remove interceptor later | ||
*/ | ||
InterceptorManager.prototype.use = function use(fulfilled, rejected) { | ||
this.handlers.push({ | ||
fulfilled: fulfilled, | ||
rejected: rejected | ||
}); | ||
return this.handlers.length - 1; | ||
}; | ||
/** | ||
* Remove an interceptor from the stack | ||
* | ||
* @param {Number} id The ID that was returned by `use` | ||
*/ | ||
InterceptorManager.prototype.eject = function eject(id) { | ||
if (this.handlers[id]) { | ||
this.handlers[id] = null; | ||
} | ||
}; | ||
/** | ||
* Iterate over all the registered interceptors | ||
* | ||
* This method is particularly useful for skipping over any | ||
* interceptors that may have become `null` calling `eject`. | ||
* | ||
* @param {Function} fn The function to call for each interceptor | ||
*/ | ||
InterceptorManager.prototype.forEach = function forEach(fn) { | ||
utils.forEach(this.handlers, function forEachHandler(h) { | ||
if (h !== null) { | ||
fn(h); | ||
} | ||
}); | ||
}; | ||
module.exports = InterceptorManager; | ||
/***/ }, | ||
/* 8 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
var utils = __webpack_require__(2); | ||
var transformData = __webpack_require__(9); | ||
/** | ||
* Dispatch a request to the server using whichever adapter | ||
* is supported by the current environment. | ||
* | ||
* @param {object} config The config that is to be used for the request | ||
* @returns {Promise} The Promise to be fulfilled | ||
*/ | ||
module.exports = function dispatchRequest(config) { | ||
// Ensure headers exist | ||
config.headers = config.headers || {}; | ||
// Transform request data | ||
config.data = transformData( | ||
config.data, | ||
config.headers, | ||
config.transformRequest | ||
); | ||
// Flatten headers | ||
config.headers = utils.merge( | ||
config.headers.common || {}, | ||
config.headers[config.method] || {}, | ||
config.headers || {} | ||
); | ||
utils.forEach( | ||
['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], | ||
function cleanHeaderConfig(method) { | ||
delete config.headers[method]; | ||
} | ||
); | ||
var adapter; | ||
if (typeof config.adapter === 'function') { | ||
// For custom adapter support | ||
adapter = config.adapter; | ||
} else if (typeof XMLHttpRequest !== 'undefined') { | ||
// For browsers use XHR adapter | ||
adapter = __webpack_require__(10); | ||
} else if (typeof process !== 'undefined') { | ||
// For node use HTTP adapter | ||
adapter = __webpack_require__(10); | ||
} | ||
return Promise.resolve(config) | ||
// Wrap synchronous adapter errors and pass configuration | ||
.then(adapter) | ||
.then(function onFulfilled(response) { | ||
// Transform response data | ||
response.data = transformData( | ||
response.data, | ||
response.headers, | ||
config.transformResponse | ||
); | ||
return response; | ||
}, function onRejected(error) { | ||
// Transform response data | ||
if (error && error.response) { | ||
error.response.data = transformData( | ||
error.response.data, | ||
error.response.headers, | ||
config.transformResponse | ||
); | ||
} | ||
return Promise.reject(error); | ||
}); | ||
}; | ||
/***/ }, | ||
/* 9 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
var utils = __webpack_require__(2); | ||
/** | ||
* Transform the data for a request or a response | ||
* | ||
* @param {Object|String} data The data to be transformed | ||
* @param {Array} headers The headers for the request or response | ||
* @param {Array|Function} fns A single function or Array of functions | ||
* @returns {*} The resulting transformed data | ||
*/ | ||
module.exports = function transformData(data, headers, fns) { | ||
/*eslint no-param-reassign:0*/ | ||
utils.forEach(fns, function transform(fn) { | ||
data = fn(data, headers); | ||
}); | ||
return data; | ||
}; | ||
/***/ }, | ||
/* 10 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
var utils = __webpack_require__(2); | ||
var settle = __webpack_require__(11); | ||
var buildURL = __webpack_require__(14); | ||
var parseHeaders = __webpack_require__(15); | ||
var isURLSameOrigin = __webpack_require__(16); | ||
var createError = __webpack_require__(12); | ||
var btoa = (typeof window !== 'undefined' && window.btoa) || __webpack_require__(17); | ||
module.exports = function xhrAdapter(config) { | ||
@@ -853,3 +707,5 @@ return new Promise(function dispatchXhrRequest(resolve, reject) { | ||
// handled by onerror instead | ||
if (request.status === 0) { | ||
// With one exception: request that using file: protocol, most browsers | ||
// will return status as 0 even though it's a successful request | ||
if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { | ||
return; | ||
@@ -899,3 +755,3 @@ } | ||
if (utils.isStandardBrowserEnv()) { | ||
var cookies = __webpack_require__(18); | ||
var cookies = __webpack_require__(15); | ||
@@ -951,2 +807,11 @@ // Add xsrf header | ||
if (config.cancelToken) { | ||
// Handle cancellation | ||
config.cancelToken.promise.then(function onCanceled(cancel) { | ||
request.abort(); | ||
reject(cancel); | ||
// Clean up request | ||
request = null; | ||
}); | ||
} | ||
@@ -964,3 +829,3 @@ if (requestData === undefined) { | ||
/***/ }, | ||
/* 11 */ | ||
/* 8 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
@@ -970,3 +835,3 @@ | ||
var createError = __webpack_require__(12); | ||
var createError = __webpack_require__(9); | ||
@@ -997,3 +862,3 @@ /** | ||
/***/ }, | ||
/* 12 */ | ||
/* 9 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
@@ -1003,3 +868,3 @@ | ||
var enhanceError = __webpack_require__(13); | ||
var enhanceError = __webpack_require__(10); | ||
@@ -1022,3 +887,3 @@ /** | ||
/***/ }, | ||
/* 13 */ | ||
/* 10 */ | ||
/***/ function(module, exports) { | ||
@@ -1048,3 +913,3 @@ | ||
/***/ }, | ||
/* 14 */ | ||
/* 11 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
@@ -1123,3 +988,3 @@ | ||
/***/ }, | ||
/* 15 */ | ||
/* 12 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
@@ -1167,3 +1032,3 @@ | ||
/***/ }, | ||
/* 16 */ | ||
/* 13 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
@@ -1242,3 +1107,3 @@ | ||
/***/ }, | ||
/* 17 */ | ||
/* 14 */ | ||
/***/ function(module, exports) { | ||
@@ -1285,3 +1150,3 @@ | ||
/***/ }, | ||
/* 18 */ | ||
/* 15 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
@@ -1345,3 +1210,178 @@ | ||
/***/ }, | ||
/* 16 */ | ||
/***/ function(module, exports) { | ||
module.exports = undefined; | ||
/***/ }, | ||
/* 17 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
var utils = __webpack_require__(2); | ||
function InterceptorManager() { | ||
this.handlers = []; | ||
} | ||
/** | ||
* Add a new interceptor to the stack | ||
* | ||
* @param {Function} fulfilled The function to handle `then` for a `Promise` | ||
* @param {Function} rejected The function to handle `reject` for a `Promise` | ||
* | ||
* @return {Number} An ID used to remove interceptor later | ||
*/ | ||
InterceptorManager.prototype.use = function use(fulfilled, rejected) { | ||
this.handlers.push({ | ||
fulfilled: fulfilled, | ||
rejected: rejected | ||
}); | ||
return this.handlers.length - 1; | ||
}; | ||
/** | ||
* Remove an interceptor from the stack | ||
* | ||
* @param {Number} id The ID that was returned by `use` | ||
*/ | ||
InterceptorManager.prototype.eject = function eject(id) { | ||
if (this.handlers[id]) { | ||
this.handlers[id] = null; | ||
} | ||
}; | ||
/** | ||
* Iterate over all the registered interceptors | ||
* | ||
* This method is particularly useful for skipping over any | ||
* interceptors that may have become `null` calling `eject`. | ||
* | ||
* @param {Function} fn The function to call for each interceptor | ||
*/ | ||
InterceptorManager.prototype.forEach = function forEach(fn) { | ||
utils.forEach(this.handlers, function forEachHandler(h) { | ||
if (h !== null) { | ||
fn(h); | ||
} | ||
}); | ||
}; | ||
module.exports = InterceptorManager; | ||
/***/ }, | ||
/* 18 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
var utils = __webpack_require__(2); | ||
var transformData = __webpack_require__(19); | ||
var isCancel = __webpack_require__(20); | ||
var defaults = __webpack_require__(5); | ||
/** | ||
* Throws a `Cancel` if cancellation has been requested. | ||
*/ | ||
function throwIfCancellationRequested(config) { | ||
if (config.cancelToken) { | ||
config.cancelToken.throwIfRequested(); | ||
} | ||
} | ||
/** | ||
* Dispatch a request to the server using the configured adapter. | ||
* | ||
* @param {object} config The config that is to be used for the request | ||
* @returns {Promise} The Promise to be fulfilled | ||
*/ | ||
module.exports = function dispatchRequest(config) { | ||
throwIfCancellationRequested(config); | ||
// Ensure headers exist | ||
config.headers = config.headers || {}; | ||
// Transform request data | ||
config.data = transformData( | ||
config.data, | ||
config.headers, | ||
config.transformRequest | ||
); | ||
// Flatten headers | ||
config.headers = utils.merge( | ||
config.headers.common || {}, | ||
config.headers[config.method] || {}, | ||
config.headers || {} | ||
); | ||
utils.forEach( | ||
['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], | ||
function cleanHeaderConfig(method) { | ||
delete config.headers[method]; | ||
} | ||
); | ||
var adapter = config.adapter || defaults.adapter; | ||
return adapter(config).then(function onAdapterResolution(response) { | ||
throwIfCancellationRequested(config); | ||
// Transform response data | ||
response.data = transformData( | ||
response.data, | ||
response.headers, | ||
config.transformResponse | ||
); | ||
return response; | ||
}, function onAdapterRejection(reason) { | ||
if (!isCancel(reason)) { | ||
throwIfCancellationRequested(config); | ||
// Transform response data | ||
if (reason && reason.response) { | ||
reason.response.data = transformData( | ||
reason.response.data, | ||
reason.response.headers, | ||
config.transformResponse | ||
); | ||
} | ||
} | ||
return Promise.reject(reason); | ||
}); | ||
}; | ||
/***/ }, | ||
/* 19 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
var utils = __webpack_require__(2); | ||
/** | ||
* Transform the data for a request or a response | ||
* | ||
* @param {Object|String} data The data to be transformed | ||
* @param {Array} headers The headers for the request or response | ||
* @param {Array|Function} fns A single function or Array of functions | ||
* @returns {*} The resulting transformed data | ||
*/ | ||
module.exports = function transformData(data, headers, fns) { | ||
/*eslint no-param-reassign:0*/ | ||
utils.forEach(fns, function transform(fn) { | ||
data = fn(data, headers); | ||
}); | ||
return data; | ||
}; | ||
/***/ }, | ||
/* 20 */ | ||
/***/ function(module, exports) { | ||
@@ -1351,2 +1391,13 @@ | ||
module.exports = function isCancel(value) { | ||
return !!(value && value.__CANCEL__); | ||
}; | ||
/***/ }, | ||
/* 21 */ | ||
/***/ function(module, exports) { | ||
'use strict'; | ||
/** | ||
@@ -1367,3 +1418,3 @@ * Determines whether the specified URL is absolute | ||
/***/ }, | ||
/* 20 */ | ||
/* 22 */ | ||
/***/ function(module, exports) { | ||
@@ -1386,3 +1437,3 @@ | ||
/***/ }, | ||
/* 21 */ | ||
/* 23 */ | ||
/***/ function(module, exports) { | ||
@@ -1393,2 +1444,90 @@ | ||
/** | ||
* A `Cancel` is an object that is thrown when an operation is canceled. | ||
* | ||
* @class | ||
* @param {string=} message The message. | ||
*/ | ||
function Cancel(message) { | ||
this.message = message; | ||
} | ||
Cancel.prototype.toString = function toString() { | ||
return 'Cancel' + (this.message ? ': ' + this.message : ''); | ||
}; | ||
Cancel.prototype.__CANCEL__ = true; | ||
module.exports = Cancel; | ||
/***/ }, | ||
/* 24 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
var Cancel = __webpack_require__(23); | ||
/** | ||
* A `CancelToken` is an object that can be used to request cancellation of an operation. | ||
* | ||
* @class | ||
* @param {Function} executor The executor function. | ||
*/ | ||
function CancelToken(executor) { | ||
if (typeof executor !== 'function') { | ||
throw new TypeError('executor must be a function.'); | ||
} | ||
var resolvePromise; | ||
this.promise = new Promise(function promiseExecutor(resolve) { | ||
resolvePromise = resolve; | ||
}); | ||
var token = this; | ||
executor(function cancel(message) { | ||
if (token.reason) { | ||
// Cancellation has already been requested | ||
return; | ||
} | ||
token.reason = new Cancel(message); | ||
resolvePromise(token.reason); | ||
}); | ||
} | ||
/** | ||
* Throws a `Cancel` if cancellation has been requested. | ||
*/ | ||
CancelToken.prototype.throwIfRequested = function throwIfRequested() { | ||
if (this.reason) { | ||
throw this.reason; | ||
} | ||
}; | ||
/** | ||
* Returns an object that contains a new `CancelToken` and a function that, when called, | ||
* cancels the `CancelToken`. | ||
*/ | ||
CancelToken.source = function source() { | ||
var cancel; | ||
var token = new CancelToken(function executor(c) { | ||
cancel = c; | ||
}); | ||
return { | ||
token: token, | ||
cancel: cancel | ||
}; | ||
}; | ||
module.exports = CancelToken; | ||
/***/ }, | ||
/* 25 */ | ||
/***/ function(module, exports) { | ||
'use strict'; | ||
/** | ||
* Syntactic sugar for invoking a function and expanding an array for arguments. | ||
@@ -1395,0 +1534,0 @@ * |
@@ -1,3 +0,3 @@ | ||
/* axios v0.14.0 | (c) 2016 by Matt Zabriskie */ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){e.exports=r(1)},function(e,t,r){"use strict";function n(e){var t=new i(e),r=s(i.prototype.request,t);return o.extend(r,i.prototype,t),o.extend(r,t),r}var o=r(2),s=r(3),i=r(4),u=n();u.Axios=i,u.create=function(e){return n(e)},u.all=function(e){return Promise.all(e)},u.spread=r(21),e.exports=u,e.exports["default"]=u},function(e,t,r){"use strict";function n(e){return"[object Array]"===E.call(e)}function o(e){return"[object ArrayBuffer]"===E.call(e)}function s(e){return"undefined"!=typeof FormData&&e instanceof FormData}function i(e){var t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function u(e){return"string"==typeof e}function a(e){return"number"==typeof e}function c(e){return"undefined"==typeof e}function f(e){return null!==e&&"object"==typeof e}function p(e){return"[object Date]"===E.call(e)}function d(e){return"[object File]"===E.call(e)}function l(e){return"[object Blob]"===E.call(e)}function h(e){return"[object Function]"===E.call(e)}function m(e){return f(e)&&h(e.pipe)}function y(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function g(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function v(){return"undefined"!=typeof window&&"undefined"!=typeof document&&"function"==typeof document.createElement}function w(e,t){if(null!==e&&"undefined"!=typeof e)if("object"==typeof e||n(e)||(e=[e]),n(e))for(var r=0,o=e.length;r<o;r++)t.call(null,e[r],r,e);else for(var s in e)e.hasOwnProperty(s)&&t.call(null,e[s],s,e)}function x(){function e(e,r){"object"==typeof t[r]&&"object"==typeof e?t[r]=x(t[r],e):t[r]=e}for(var t={},r=0,n=arguments.length;r<n;r++)w(arguments[r],e);return t}function b(e,t,r){return w(t,function(t,n){r&&"function"==typeof t?e[n]=S(t,r):e[n]=t}),e}var S=r(3),E=Object.prototype.toString;e.exports={isArray:n,isArrayBuffer:o,isFormData:s,isArrayBufferView:i,isString:u,isNumber:a,isObject:f,isUndefined:c,isDate:p,isFile:d,isBlob:l,isFunction:h,isStream:m,isURLSearchParams:y,isStandardBrowserEnv:v,forEach:w,merge:x,extend:b,trim:g}},function(e,t){"use strict";e.exports=function(e,t){return function(){for(var r=new Array(arguments.length),n=0;n<r.length;n++)r[n]=arguments[n];return e.apply(t,r)}}},function(e,t,r){"use strict";function n(e){this.defaults=s.merge(o,e),this.interceptors={request:new i,response:new i}}var o=r(5),s=r(2),i=r(7),u=r(8),a=r(19),c=r(20);n.prototype.request=function(e){"string"==typeof e&&(e=s.merge({url:arguments[0]},arguments[1])),e=s.merge(o,this.defaults,{method:"get"},e),e.baseURL&&!a(e.url)&&(e.url=c(e.baseURL,e.url));var t=[u,void 0],r=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)r=r.then(t.shift(),t.shift());return r},s.forEach(["delete","get","head"],function(e){n.prototype[e]=function(t,r){return this.request(s.merge(r||{},{method:e,url:t}))}}),s.forEach(["post","put","patch"],function(e){n.prototype[e]=function(t,r,n){return this.request(s.merge(n||{},{method:e,url:t,data:r}))}}),e.exports=n},function(e,t,r){"use strict";function n(e,t){!o.isUndefined(e)&&o.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var o=r(2),s=r(6),i=/^\)\]\}',?\n/,u={"Content-Type":"application/x-www-form-urlencoded"};e.exports={transformRequest:[function(e,t){return s(t,"Content-Type"),o.isFormData(e)||o.isArrayBuffer(e)||o.isStream(e)||o.isFile(e)||o.isBlob(e)?e:o.isArrayBufferView(e)?e.buffer:o.isURLSearchParams(e)?(n(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):o.isObject(e)?(n(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e){e=e.replace(i,"");try{e=JSON.parse(e)}catch(t){}}return e}],headers:{common:{Accept:"application/json, text/plain, */*"},patch:o.merge(u),post:o.merge(u),put:o.merge(u)},timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}}},function(e,t,r){"use strict";var n=r(2);e.exports=function(e,t){n.forEach(e,function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])})}},function(e,t,r){"use strict";function n(){this.handlers=[]}var o=r(2);n.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},n.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},n.prototype.forEach=function(e){o.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=n},function(e,t,r){"use strict";var n=r(2),o=r(9);e.exports=function(e){e.headers=e.headers||{},e.data=o(e.data,e.headers,e.transformRequest),e.headers=n.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),n.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});var t;return"function"==typeof e.adapter?t=e.adapter:"undefined"!=typeof XMLHttpRequest?t=r(10):"undefined"!=typeof process&&(t=r(10)),Promise.resolve(e).then(t).then(function(t){return t.data=o(t.data,t.headers,e.transformResponse),t},function(t){return t&&t.response&&(t.response.data=o(t.response.data,t.response.headers,e.transformResponse)),Promise.reject(t)})}},function(e,t,r){"use strict";var n=r(2);e.exports=function(e,t,r){return n.forEach(r,function(r){e=r(e,t)}),e}},function(e,t,r){"use strict";var n=r(2),o=r(11),s=r(14),i=r(15),u=r(16),a=r(12),c="undefined"!=typeof window&&window.btoa||r(17);e.exports=function(e){return new Promise(function(t,f){var p=e.data,d=e.headers;n.isFormData(p)&&delete d["Content-Type"];var l=new XMLHttpRequest,h="onreadystatechange",m=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in l||u(e.url)||(l=new window.XDomainRequest,h="onload",m=!0,l.onprogress=function(){},l.ontimeout=function(){}),e.auth){var y=e.auth.username||"",g=e.auth.password||"";d.Authorization="Basic "+c(y+":"+g)}if(l.open(e.method.toUpperCase(),s(e.url,e.params,e.paramsSerializer),!0),l.timeout=e.timeout,l[h]=function(){if(l&&(4===l.readyState||m)&&0!==l.status){var r="getAllResponseHeaders"in l?i(l.getAllResponseHeaders()):null,n=e.responseType&&"text"!==e.responseType?l.response:l.responseText,s={data:n,status:1223===l.status?204:l.status,statusText:1223===l.status?"No Content":l.statusText,headers:r,config:e,request:l};o(t,f,s),l=null}},l.onerror=function(){f(a("Network Error",e)),l=null},l.ontimeout=function(){f(a("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED")),l=null},n.isStandardBrowserEnv()){var v=r(18),w=(e.withCredentials||u(e.url))&&e.xsrfCookieName?v.read(e.xsrfCookieName):void 0;w&&(d[e.xsrfHeaderName]=w)}if("setRequestHeader"in l&&n.forEach(d,function(e,t){"undefined"==typeof p&&"content-type"===t.toLowerCase()?delete d[t]:l.setRequestHeader(t,e)}),e.withCredentials&&(l.withCredentials=!0),e.responseType)try{l.responseType=e.responseType}catch(x){if("json"!==l.responseType)throw x}"function"==typeof e.onDownloadProgress&&l.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",e.onUploadProgress),void 0===p&&(p=null),l.send(p)})}},function(e,t,r){"use strict";var n=r(12);e.exports=function(e,t,r){var o=r.config.validateStatus;r.status&&o&&!o(r.status)?t(n("Request failed with status code "+r.status,r.config,null,r)):e(r)}},function(e,t,r){"use strict";var n=r(13);e.exports=function(e,t,r,o){var s=new Error(e);return n(s,t,r,o)}},function(e,t){"use strict";e.exports=function(e,t,r,n){return e.config=t,r&&(e.code=r),e.response=n,e}},function(e,t,r){"use strict";function n(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var o=r(2);e.exports=function(e,t,r){if(!t)return e;var s;if(r)s=r(t);else if(o.isURLSearchParams(t))s=t.toString();else{var i=[];o.forEach(t,function(e,t){null!==e&&"undefined"!=typeof e&&(o.isArray(e)&&(t+="[]"),o.isArray(e)||(e=[e]),o.forEach(e,function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),i.push(n(t)+"="+n(e))}))}),s=i.join("&")}return s&&(e+=(e.indexOf("?")===-1?"?":"&")+s),e}},function(e,t,r){"use strict";var n=r(2);e.exports=function(e){var t,r,o,s={};return e?(n.forEach(e.split("\n"),function(e){o=e.indexOf(":"),t=n.trim(e.substr(0,o)).toLowerCase(),r=n.trim(e.substr(o+1)),t&&(s[t]=s[t]?s[t]+", "+r:r)}),s):s}},function(e,t,r){"use strict";var n=r(2);e.exports=n.isStandardBrowserEnv()?function(){function e(e){var t=e;return r&&(o.setAttribute("href",t),t=o.href),o.setAttribute("href",t),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:"/"===o.pathname.charAt(0)?o.pathname:"/"+o.pathname}}var t,r=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");return t=e(window.location.href),function(r){var o=n.isString(r)?e(r):r;return o.protocol===t.protocol&&o.host===t.host}}():function(){return function(){return!0}}()},function(e,t){"use strict";function r(){this.message="String contains an invalid character"}function n(e){for(var t,n,s=String(e),i="",u=0,a=o;s.charAt(0|u)||(a="=",u%1);i+=a.charAt(63&t>>8-u%1*8)){if(n=s.charCodeAt(u+=.75),n>255)throw new r;t=t<<8|n}return i}var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.prototype=new Error,r.prototype.code=5,r.prototype.name="InvalidCharacterError",e.exports=n},function(e,t,r){"use strict";var n=r(2);e.exports=n.isStandardBrowserEnv()?function(){return{write:function(e,t,r,o,s,i){var u=[];u.push(e+"="+encodeURIComponent(t)),n.isNumber(r)&&u.push("expires="+new Date(r).toGMTString()),n.isString(o)&&u.push("path="+o),n.isString(s)&&u.push("domain="+s),i===!0&&u.push("secure"),document.cookie=u.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,"")}},function(e,t){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}}])}); | ||
/* axios v0.15.0 | (c) 2016 by Matt Zabriskie */ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("undefined")):"function"==typeof define&&define.amd?define(["undefined"],t):"object"==typeof exports?exports.axios=t(require("undefined")):e.axios=t(e.undefined)}(this,function(e){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){var t=new s(e),n=i(s.prototype.request,t);return o.extend(n,s.prototype,t),o.extend(n,t),n}var o=n(2),i=n(3),s=n(4),u=r();u.Axios=s,u.create=function(e){return r(e)},u.Cancel=n(23),u.CancelToken=n(24),u.isCancel=n(20),u.all=function(e){return Promise.all(e)},u.spread=n(25),e.exports=u,e.exports["default"]=u},function(e,t,n){"use strict";function r(e){return"[object Array]"===E.call(e)}function o(e){return"[object ArrayBuffer]"===E.call(e)}function i(e){return"undefined"!=typeof FormData&&e instanceof FormData}function s(e){var t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function u(e){return"string"==typeof e}function a(e){return"number"==typeof e}function c(e){return"undefined"==typeof e}function f(e){return null!==e&&"object"==typeof e}function p(e){return"[object Date]"===E.call(e)}function d(e){return"[object File]"===E.call(e)}function l(e){return"[object Blob]"===E.call(e)}function h(e){return"[object Function]"===E.call(e)}function m(e){return f(e)&&h(e.pipe)}function y(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function w(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function g(){return"undefined"!=typeof window&&"undefined"!=typeof document&&"function"==typeof document.createElement}function v(e,t){if(null!==e&&"undefined"!=typeof e)if("object"==typeof e||r(e)||(e=[e]),r(e))for(var n=0,o=e.length;n<o;n++)t.call(null,e[n],n,e);else for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.call(null,e[i],i,e)}function x(){function e(e,n){"object"==typeof t[n]&&"object"==typeof e?t[n]=x(t[n],e):t[n]=e}for(var t={},n=0,r=arguments.length;n<r;n++)v(arguments[n],e);return t}function b(e,t,n){return v(t,function(t,r){n&&"function"==typeof t?e[r]=C(t,n):e[r]=t}),e}var C=n(3),E=Object.prototype.toString;e.exports={isArray:r,isArrayBuffer:o,isFormData:i,isArrayBufferView:s,isString:u,isNumber:a,isObject:f,isUndefined:c,isDate:p,isFile:d,isBlob:l,isFunction:h,isStream:m,isURLSearchParams:y,isStandardBrowserEnv:g,forEach:v,merge:x,extend:b,trim:w}},function(e,t){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return e.apply(t,n)}}},function(e,t,n){"use strict";function r(e){this.defaults=i.merge(o,e),this.interceptors={request:new s,response:new s}}var o=n(5),i=n(2),s=n(17),u=n(18),a=n(21),c=n(22);r.prototype.request=function(e){"string"==typeof e&&(e=i.merge({url:arguments[0]},arguments[1])),e=i.merge(o,this.defaults,{method:"get"},e),e.baseURL&&!a(e.url)&&(e.url=c(e.baseURL,e.url));var t=[u,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},i.forEach(["delete","get","head"],function(e){r.prototype[e]=function(t,n){return this.request(i.merge(n||{},{method:e,url:t}))}}),i.forEach(["post","put","patch"],function(e){r.prototype[e]=function(t,n,r){return this.request(i.merge(r||{},{method:e,url:t,data:n}))}}),e.exports=r},function(e,t,n){"use strict";function r(e,t){!i.isUndefined(e)&&i.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function o(){var e;return"undefined"!=typeof XMLHttpRequest?e=n(7):"undefined"!=typeof process&&(e=n(16)),e}var i=n(2),s=n(6),u=/^\)\]\}',?\n/,a={"Content-Type":"application/x-www-form-urlencoded"};e.exports={adapter:o(),transformRequest:[function(e,t){return s(t,"Content-Type"),i.isFormData(e)||i.isArrayBuffer(e)||i.isStream(e)||i.isFile(e)||i.isBlob(e)?e:i.isArrayBufferView(e)?e.buffer:i.isURLSearchParams(e)?(r(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):i.isObject(e)?(r(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e){e=e.replace(u,"");try{e=JSON.parse(e)}catch(t){}}return e}],headers:{common:{Accept:"application/json, text/plain, */*"},patch:i.merge(a),post:i.merge(a),put:i.merge(a)},timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(2),o=n(8),i=n(11),s=n(12),u=n(13),a=n(9),c="undefined"!=typeof window&&window.btoa||n(14);e.exports=function(e){return new Promise(function(t,f){var p=e.data,d=e.headers;r.isFormData(p)&&delete d["Content-Type"];var l=new XMLHttpRequest,h="onreadystatechange",m=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in l||u(e.url)||(l=new window.XDomainRequest,h="onload",m=!0,l.onprogress=function(){},l.ontimeout=function(){}),e.auth){var y=e.auth.username||"",w=e.auth.password||"";d.Authorization="Basic "+c(y+":"+w)}if(l.open(e.method.toUpperCase(),i(e.url,e.params,e.paramsSerializer),!0),l.timeout=e.timeout,l[h]=function(){if(l&&(4===l.readyState||m)&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in l?s(l.getAllResponseHeaders()):null,r=e.responseType&&"text"!==e.responseType?l.response:l.responseText,i={data:r,status:1223===l.status?204:l.status,statusText:1223===l.status?"No Content":l.statusText,headers:n,config:e,request:l};o(t,f,i),l=null}},l.onerror=function(){f(a("Network Error",e)),l=null},l.ontimeout=function(){f(a("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED")),l=null},r.isStandardBrowserEnv()){var g=n(15),v=(e.withCredentials||u(e.url))&&e.xsrfCookieName?g.read(e.xsrfCookieName):void 0;v&&(d[e.xsrfHeaderName]=v)}if("setRequestHeader"in l&&r.forEach(d,function(e,t){"undefined"==typeof p&&"content-type"===t.toLowerCase()?delete d[t]:l.setRequestHeader(t,e)}),e.withCredentials&&(l.withCredentials=!0),e.responseType)try{l.responseType=e.responseType}catch(x){if("json"!==l.responseType)throw x}"function"==typeof e.onDownloadProgress&&l.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){l.abort(),f(e),l=null}),void 0===p&&(p=null),l.send(p)})}},function(e,t,n){"use strict";var r=n(9);e.exports=function(e,t,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n)):e(n)}},function(e,t,n){"use strict";var r=n(10);e.exports=function(e,t,n,o){var i=new Error(e);return r(i,t,n,o)}},function(e,t){"use strict";e.exports=function(e,t,n,r){return e.config=t,n&&(e.code=n),e.response=r,e}},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var o=n(2);e.exports=function(e,t,n){if(!t)return e;var i;if(n)i=n(t);else if(o.isURLSearchParams(t))i=t.toString();else{var s=[];o.forEach(t,function(e,t){null!==e&&"undefined"!=typeof e&&(o.isArray(e)&&(t+="[]"),o.isArray(e)||(e=[e]),o.forEach(e,function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),s.push(r(t)+"="+r(e))}))}),i=s.join("&")}return i&&(e+=(e.indexOf("?")===-1?"?":"&")+i),e}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e){var t,n,o,i={};return e?(r.forEach(e.split("\n"),function(e){o=e.indexOf(":"),t=r.trim(e.substr(0,o)).toLowerCase(),n=r.trim(e.substr(o+1)),t&&(i[t]=i[t]?i[t]+", "+n:n)}),i):i}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(o.setAttribute("href",t),t=o.href),o.setAttribute("href",t),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:"/"===o.pathname.charAt(0)?o.pathname:"/"+o.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");return t=e(window.location.href),function(n){var o=r.isString(n)?e(n):n;return o.protocol===t.protocol&&o.host===t.host}}():function(){return function(){return!0}}()},function(e,t){"use strict";function n(){this.message="String contains an invalid character"}function r(e){for(var t,r,i=String(e),s="",u=0,a=o;i.charAt(0|u)||(a="=",u%1);s+=a.charAt(63&t>>8-u%1*8)){if(r=i.charCodeAt(u+=.75),r>255)throw new n;t=t<<8|r}return s}var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.prototype=new Error,n.prototype.code=5,n.prototype.name="InvalidCharacterError",e.exports=r},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,o,i,s){var u=[];u.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&u.push("expires="+new Date(n).toGMTString()),r.isString(o)&&u.push("path="+o),r.isString(i)&&u.push("domain="+i),s===!0&&u.push("secure"),document.cookie=u.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t){e.exports=void 0},function(e,t,n){"use strict";function r(){this.handlers=[]}var o=n(2);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){o.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t,n){"use strict";function r(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var o=n(2),i=n(19),s=n(20),u=n(5);e.exports=function(e){r(e),e.headers=e.headers||{},e.data=i(e.data,e.headers,e.transformRequest),e.headers=o.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),o.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});var t=e.adapter||u.adapter;return t(e).then(function(t){return r(e),t.data=i(t.data,t.headers,e.transformResponse),t},function(t){return s(t)||(r(e),t&&t.response&&(t.response.data=i(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,"")}},function(e,t){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new o(e),t(n.reason))})}var o=n(23);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e,t=new r(function(t){e=t});return{token:t,cancel:e}},e.exports=r},function(e,t){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}}])}); | ||
//# sourceMappingURL=axios.min.map |
@@ -188,2 +188,11 @@ 'use strict'; | ||
if (config.cancelToken) { | ||
// Handle cancellation | ||
config.cancelToken.promise.then(function onCanceled(cancel) { | ||
req.abort(); | ||
reject(cancel); | ||
aborted = true; | ||
}); | ||
} | ||
// Send the request | ||
@@ -190,0 +199,0 @@ if (utils.isStream(data)) { |
@@ -58,3 +58,5 @@ 'use strict'; | ||
// handled by onerror instead | ||
if (request.status === 0) { | ||
// With one exception: request that using file: protocol, most browsers | ||
// will return status as 0 even though it's a successful request | ||
if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { | ||
return; | ||
@@ -155,2 +157,11 @@ } | ||
if (config.cancelToken) { | ||
// Handle cancellation | ||
config.cancelToken.promise.then(function onCanceled(cancel) { | ||
request.abort(); | ||
reject(cancel); | ||
// Clean up request | ||
request = null; | ||
}); | ||
} | ||
@@ -157,0 +168,0 @@ if (requestData === undefined) { |
@@ -37,2 +37,7 @@ 'use strict'; | ||
// Expose Cancel & CancelToken | ||
axios.Cancel = require('./cancel/Cancel'); | ||
axios.CancelToken = require('./cancel/CancelToken'); | ||
axios.isCancel = require('./cancel/isCancel'); | ||
// Expose all/spread | ||
@@ -39,0 +44,0 @@ axios.all = function all(promises) { |
@@ -5,6 +5,16 @@ 'use strict'; | ||
var transformData = require('./transformData'); | ||
var isCancel = require('../cancel/isCancel'); | ||
var defaults = require('../defaults'); | ||
/** | ||
* Dispatch a request to the server using whichever adapter | ||
* is supported by the current environment. | ||
* Throws a `Cancel` if cancellation has been requested. | ||
*/ | ||
function throwIfCancellationRequested(config) { | ||
if (config.cancelToken) { | ||
config.cancelToken.throwIfRequested(); | ||
} | ||
} | ||
/** | ||
* Dispatch a request to the server using the configured adapter. | ||
* | ||
@@ -15,2 +25,4 @@ * @param {object} config The config that is to be used for the request | ||
module.exports = function dispatchRequest(config) { | ||
throwIfCancellationRequested(config); | ||
// Ensure headers exist | ||
@@ -40,39 +52,31 @@ config.headers = config.headers || {}; | ||
var adapter; | ||
var adapter = config.adapter || defaults.adapter; | ||
if (typeof config.adapter === 'function') { | ||
// For custom adapter support | ||
adapter = config.adapter; | ||
} else if (typeof XMLHttpRequest !== 'undefined') { | ||
// For browsers use XHR adapter | ||
adapter = require('../adapters/xhr'); | ||
} else if (typeof process !== 'undefined') { | ||
// For node use HTTP adapter | ||
adapter = require('../adapters/http'); | ||
} | ||
return adapter(config).then(function onAdapterResolution(response) { | ||
throwIfCancellationRequested(config); | ||
return Promise.resolve(config) | ||
// Wrap synchronous adapter errors and pass configuration | ||
.then(adapter) | ||
.then(function onFulfilled(response) { | ||
// Transform response data | ||
response.data = transformData( | ||
response.data, | ||
response.headers, | ||
config.transformResponse | ||
); | ||
// Transform response data | ||
response.data = transformData( | ||
response.data, | ||
response.headers, | ||
config.transformResponse | ||
); | ||
return response; | ||
}, function onRejected(error) { | ||
return response; | ||
}, function onAdapterRejection(reason) { | ||
if (!isCancel(reason)) { | ||
throwIfCancellationRequested(config); | ||
// Transform response data | ||
if (error && error.response) { | ||
error.response.data = transformData( | ||
error.response.data, | ||
error.response.headers, | ||
if (reason && reason.response) { | ||
reason.response.data = transformData( | ||
reason.response.data, | ||
reason.response.headers, | ||
config.transformResponse | ||
); | ||
} | ||
} | ||
return Promise.reject(error); | ||
}); | ||
return Promise.reject(reason); | ||
}); | ||
}; |
@@ -17,3 +17,17 @@ 'use strict'; | ||
function getDefaultAdapter() { | ||
var adapter; | ||
if (typeof XMLHttpRequest !== 'undefined') { | ||
// For browsers use XHR adapter | ||
adapter = require('./adapters/xhr'); | ||
} else if (typeof process !== 'undefined') { | ||
// For node use HTTP adapter | ||
adapter = require('./adapters/http'); | ||
} | ||
return adapter; | ||
} | ||
module.exports = { | ||
adapter: getDefaultAdapter(), | ||
transformRequest: [function transformRequest(data, headers) { | ||
@@ -20,0 +34,0 @@ normalizeHeaderName(headers, 'Content-Type'); |
@@ -220,3 +220,3 @@ 'use strict'; | ||
for (var key in obj) { | ||
if (obj.hasOwnProperty(key)) { | ||
if (Object.prototype.hasOwnProperty.call(obj, key)) { | ||
fn.call(null, obj[key], key, obj); | ||
@@ -223,0 +223,0 @@ } |
{ | ||
"name": "axios", | ||
"version": "0.14.0", | ||
"version": "0.15.0", | ||
"description": "Promise based HTTP client for the browser and node.js", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
271845
40
2787
2