@webex/http-core 3.0.0-beta.8 → 3.0.0-bnr.0

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.
Files changed (50) hide show
  1. package/README.md +0 -1
  2. package/dist/http-error-subtypes.js +2 -147
  3. package/dist/http-error-subtypes.js.map +1 -1
  4. package/dist/http-error.js +9 -38
  5. package/dist/http-error.js.map +1 -1
  6. package/dist/index.js +5 -29
  7. package/dist/index.js.map +1 -1
  8. package/dist/interceptors/http-status.js +7 -30
  9. package/dist/interceptors/http-status.js.map +1 -1
  10. package/dist/lib/detect.js +28 -48
  11. package/dist/lib/detect.js.map +1 -1
  12. package/dist/lib/interceptor.js +7 -23
  13. package/dist/lib/interceptor.js.map +1 -1
  14. package/dist/lib/xhr.js +44 -93
  15. package/dist/lib/xhr.js.map +1 -1
  16. package/dist/progress-event.js +0 -7
  17. package/dist/progress-event.js.map +1 -1
  18. package/dist/request/index.js +1 -15
  19. package/dist/request/index.js.map +1 -1
  20. package/dist/request/request.js +5 -23
  21. package/dist/request/request.js.map +1 -1
  22. package/dist/request/request.shim.js +38 -90
  23. package/dist/request/request.shim.js.map +1 -1
  24. package/dist/types/http-error-subtypes.d.ts +8 -0
  25. package/dist/types/http-error.d.ts +41 -0
  26. package/dist/types/index.d.ts +7 -0
  27. package/dist/types/interceptors/http-status.d.ts +17 -0
  28. package/dist/types/lib/detect.d.ts +6 -0
  29. package/dist/types/lib/interceptor.d.ts +51 -0
  30. package/dist/types/lib/xhr.d.ts +6 -0
  31. package/dist/types/progress-event.d.ts +18 -0
  32. package/dist/types/request/index.d.ts +5 -0
  33. package/dist/types/request/request.d.ts +6 -0
  34. package/dist/types/request/request.shim.d.ts +6 -0
  35. package/package.json +10 -10
  36. package/src/http-error-subtypes.js +1 -1
  37. package/src/http-error.js +15 -23
  38. package/src/index.js +4 -9
  39. package/src/interceptors/http-status.js +7 -5
  40. package/src/lib/detect.js +0 -1
  41. package/src/lib/interceptor.js +2 -4
  42. package/src/lib/xhr.js +197 -194
  43. package/src/progress-event.js +10 -5
  44. package/src/request/request.js +16 -14
  45. package/src/request/request.shim.js +47 -38
  46. package/test/integration/spec/http-error.js +11 -11
  47. package/test/integration/spec/interceptor.js +20 -13
  48. package/test/integration/spec/progress-event.js +8 -8
  49. package/test/integration/spec/request.js +135 -127
  50. package/test/unit/spec/interceptors/http-status.js +14 -11
@@ -1,29 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
13
9
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
14
-
15
10
  var _defineProperty = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/define-property"));
16
-
17
11
  var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
18
-
19
12
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
20
-
21
13
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
22
-
23
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
24
-
25
15
  var _get2 = _interopRequireDefault(require("lodash/get"));
26
-
27
16
  /**
28
17
  * @class
29
18
  */
@@ -35,9 +24,7 @@ var Interceptor = /*#__PURE__*/function () {
35
24
  */
36
25
  function Interceptor(attrs) {
37
26
  var _this = this;
38
-
39
27
  (0, _classCallCheck2.default)(this, Interceptor);
40
-
41
28
  if (attrs) {
42
29
  (0, _keys.default)(attrs).forEach(function (key) {
43
30
  var value = attrs[key];
@@ -48,6 +35,7 @@ var Interceptor = /*#__PURE__*/function () {
48
35
  });
49
36
  }
50
37
  }
38
+
51
39
  /**
52
40
  * Logs the options of a request. This should be utilized
53
41
  * during the intercepting process, but can be used at any
@@ -55,27 +43,24 @@ var Interceptor = /*#__PURE__*/function () {
55
43
  * @param {object} options
56
44
  * @returns {void}
57
45
  */
58
-
59
-
60
46
  (0, _createClass2.default)(Interceptor, [{
61
47
  key: "logOptions",
62
48
  value: function logOptions() {
63
49
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
64
50
  var logger = (0, _get2.default)(this, 'webex.logger', console);
65
-
66
51
  if (!process.env.ENABLE_VERBOSE_NETWORK_LOGGING || !logger) {
67
52
  return;
68
- } // prepend a header for the interceptor
69
-
53
+ }
70
54
 
55
+ // prepend a header for the interceptor
71
56
  logger.info('/***** Interceptor ****************************************************\\');
72
57
  logger.info("".concat(this.constructor.name, " - ").concat((0, _stringify.default)(options, null, 2)));
73
58
  }
59
+
74
60
  /**
75
61
  * @abstract
76
62
  * @returns {Interceptor}
77
63
  */
78
-
79
64
  }, {
80
65
  key: "onRequest",
81
66
  value:
@@ -87,37 +72,37 @@ var Interceptor = /*#__PURE__*/function () {
87
72
  function onRequest(options) {
88
73
  return _promise.default.resolve(options);
89
74
  }
75
+
90
76
  /**
91
77
  * Handle request failures
92
78
  * @param {Object} options
93
79
  * @param {Error} reason
94
80
  * @returns {RejectedPromise<Error>}
95
81
  */
96
-
97
82
  }, {
98
83
  key: "onRequestError",
99
84
  value: function onRequestError(options, reason) {
100
85
  return _promise.default.reject(reason);
101
86
  }
87
+
102
88
  /**
103
89
  * Transform response before returning it
104
90
  * @param {Object} options
105
91
  * @param {HttpResponse} response
106
92
  * @returns {Promise<HttpResponse>}
107
93
  */
108
-
109
94
  }, {
110
95
  key: "onResponse",
111
96
  value: function onResponse(options, response) {
112
97
  return _promise.default.resolve(response);
113
98
  }
99
+
114
100
  /**
115
101
  * Handle response errors
116
102
  * @param {Object} options
117
103
  * @param {WebexHttpError} reason
118
104
  * @returns {Promise<WebexHttpError>}
119
105
  */
120
-
121
106
  }, {
122
107
  key: "onResponseError",
123
108
  value: function onResponseError(options, reason) {
@@ -131,6 +116,5 @@ var Interceptor = /*#__PURE__*/function () {
131
116
  }]);
132
117
  return Interceptor;
133
118
  }();
134
-
135
119
  exports.default = Interceptor;
136
120
  //# sourceMappingURL=interceptor.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Interceptor","attrs","forEach","key","value","enumerable","options","logger","console","process","env","ENABLE_VERBOSE_NETWORK_LOGGING","info","constructor","name","resolve","reason","reject","response","Error"],"sources":["interceptor.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {get} from 'lodash';\n\n/**\n * @class\n */\nexport default class Interceptor {\n /**\n * @constructor\n * @param {Object} attrs\n * @returns {UrlInterceptor}\n */\n constructor(attrs) {\n if (attrs) {\n Object.keys(attrs).forEach((key) => {\n const value = attrs[key];\n\n Reflect.defineProperty(this, key, {\n enumerable: true,\n value\n });\n });\n }\n }\n\n /**\n * Logs the options of a request. This should be utilized\n * during the intercepting process, but can be used at any\n * time otherwise.\n * @param {object} options\n * @returns {void}\n */\n logOptions(options = {}) {\n const logger = get(this, 'webex.logger', console);\n\n if (!process.env.ENABLE_VERBOSE_NETWORK_LOGGING || !logger) {\n return;\n }\n\n // prepend a header for the interceptor\n logger.info('/***** Interceptor ****************************************************\\\\');\n\n logger.info(\n `${this.constructor.name} - ${JSON.stringify(options, null, 2)}`\n );\n }\n\n /**\n * @abstract\n * @returns {Interceptor}\n */\n static create() {\n throw new Error('`Interceptor.create()` must be defined');\n }\n\n /**\n * Transform request options before sending them\n * @param {Object} options\n * @returns {Promise<Object>}\n */\n onRequest(options) {\n return Promise.resolve(options);\n }\n\n /**\n * Handle request failures\n * @param {Object} options\n * @param {Error} reason\n * @returns {RejectedPromise<Error>}\n */\n onRequestError(options, reason) {\n return Promise.reject(reason);\n }\n\n /**\n * Transform response before returning it\n * @param {Object} options\n * @param {HttpResponse} response\n * @returns {Promise<HttpResponse>}\n */\n onResponse(options, response) {\n return Promise.resolve(response);\n }\n\n /**\n * Handle response errors\n * @param {Object} options\n * @param {WebexHttpError} reason\n * @returns {Promise<WebexHttpError>}\n */\n onResponseError(options, reason) {\n return Promise.reject(reason);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;AACA;AACA;IACqBA,W;EACnB;AACF;AACA;AACA;AACA;EACE,qBAAYC,KAAZ,EAAmB;IAAA;;IAAA;;IACjB,IAAIA,KAAJ,EAAW;MACT,mBAAYA,KAAZ,EAAmBC,OAAnB,CAA2B,UAACC,GAAD,EAAS;QAClC,IAAMC,KAAK,GAAGH,KAAK,CAACE,GAAD,CAAnB;QAEA,6BAAuB,KAAvB,EAA6BA,GAA7B,EAAkC;UAChCE,UAAU,EAAE,IADoB;UAEhCD,KAAK,EAALA;QAFgC,CAAlC;MAID,CAPD;IAQD;EACF;EAED;AACF;AACA;AACA;AACA;AACA;AACA;;;;;WACE,sBAAyB;MAAA,IAAdE,OAAc,uEAAJ,EAAI;MACvB,IAAMC,MAAM,GAAG,mBAAI,IAAJ,EAAU,cAAV,EAA0BC,OAA1B,CAAf;;MAEA,IAAI,CAACC,OAAO,CAACC,GAAR,CAAYC,8BAAb,IAA+C,CAACJ,MAApD,EAA4D;QAC1D;MACD,CALsB,CAOvB;;;MACAA,MAAM,CAACK,IAAP,CAAY,2EAAZ;MAEAL,MAAM,CAACK,IAAP,WACK,KAAKC,WAAL,CAAiBC,IADtB,gBACgC,wBAAeR,OAAf,EAAwB,IAAxB,EAA8B,CAA9B,CADhC;IAGD;IAED;AACF;AACA;AACA;;;;;IAKE;AACF;AACA;AACA;AACA;IACE,mBAAUA,OAAV,EAAmB;MACjB,OAAO,iBAAQS,OAAR,CAAgBT,OAAhB,CAAP;IACD;IAED;AACF;AACA;AACA;AACA;AACA;;;;WACE,wBAAeA,OAAf,EAAwBU,MAAxB,EAAgC;MAC9B,OAAO,iBAAQC,MAAR,CAAeD,MAAf,CAAP;IACD;IAED;AACF;AACA;AACA;AACA;AACA;;;;WACE,oBAAWV,OAAX,EAAoBY,QAApB,EAA8B;MAC5B,OAAO,iBAAQH,OAAR,CAAgBG,QAAhB,CAAP;IACD;IAED;AACF;AACA;AACA;AACA;AACA;;;;WACE,yBAAgBZ,OAAhB,EAAyBU,MAAzB,EAAiC;MAC/B,OAAO,iBAAQC,MAAR,CAAeD,MAAf,CAAP;IACD;;;WAzCD,kBAAgB;MACd,MAAM,IAAIG,KAAJ,CAAU,wCAAV,CAAN;IACD"}
1
+ {"version":3,"names":["Interceptor","attrs","forEach","key","value","enumerable","options","logger","console","process","env","ENABLE_VERBOSE_NETWORK_LOGGING","info","constructor","name","resolve","reason","reject","response","Error"],"sources":["interceptor.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {get} from 'lodash';\n\n/**\n * @class\n */\nexport default class Interceptor {\n /**\n * @constructor\n * @param {Object} attrs\n * @returns {UrlInterceptor}\n */\n constructor(attrs) {\n if (attrs) {\n Object.keys(attrs).forEach((key) => {\n const value = attrs[key];\n\n Reflect.defineProperty(this, key, {\n enumerable: true,\n value,\n });\n });\n }\n }\n\n /**\n * Logs the options of a request. This should be utilized\n * during the intercepting process, but can be used at any\n * time otherwise.\n * @param {object} options\n * @returns {void}\n */\n logOptions(options = {}) {\n const logger = get(this, 'webex.logger', console);\n\n if (!process.env.ENABLE_VERBOSE_NETWORK_LOGGING || !logger) {\n return;\n }\n\n // prepend a header for the interceptor\n logger.info('/***** Interceptor ****************************************************\\\\');\n\n logger.info(`${this.constructor.name} - ${JSON.stringify(options, null, 2)}`);\n }\n\n /**\n * @abstract\n * @returns {Interceptor}\n */\n static create() {\n throw new Error('`Interceptor.create()` must be defined');\n }\n\n /**\n * Transform request options before sending them\n * @param {Object} options\n * @returns {Promise<Object>}\n */\n onRequest(options) {\n return Promise.resolve(options);\n }\n\n /**\n * Handle request failures\n * @param {Object} options\n * @param {Error} reason\n * @returns {RejectedPromise<Error>}\n */\n onRequestError(options, reason) {\n return Promise.reject(reason);\n }\n\n /**\n * Transform response before returning it\n * @param {Object} options\n * @param {HttpResponse} response\n * @returns {Promise<HttpResponse>}\n */\n onResponse(options, response) {\n return Promise.resolve(response);\n }\n\n /**\n * Handle response errors\n * @param {Object} options\n * @param {WebexHttpError} reason\n * @returns {Promise<WebexHttpError>}\n */\n onResponseError(options, reason) {\n return Promise.reject(reason);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAMA;AACA;AACA;AAFA,IAGqBA,WAAW;EAC9B;AACF;AACA;AACA;AACA;EACE,qBAAYC,KAAK,EAAE;IAAA;IAAA;IACjB,IAAIA,KAAK,EAAE;MACT,mBAAYA,KAAK,CAAC,CAACC,OAAO,CAAC,UAACC,GAAG,EAAK;QAClC,IAAMC,KAAK,GAAGH,KAAK,CAACE,GAAG,CAAC;QAExB,6BAAuB,KAAI,EAAEA,GAAG,EAAE;UAChCE,UAAU,EAAE,IAAI;UAChBD,KAAK,EAALA;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA,OAOA,sBAAyB;MAAA,IAAdE,OAAO,uEAAG,CAAC,CAAC;MACrB,IAAMC,MAAM,GAAG,mBAAI,IAAI,EAAE,cAAc,EAAEC,OAAO,CAAC;MAEjD,IAAI,CAACC,OAAO,CAACC,GAAG,CAACC,8BAA8B,IAAI,CAACJ,MAAM,EAAE;QAC1D;MACF;;MAEA;MACAA,MAAM,CAACK,IAAI,CAAC,2EAA2E,CAAC;MAExFL,MAAM,CAACK,IAAI,WAAI,IAAI,CAACC,WAAW,CAACC,IAAI,gBAAM,wBAAeR,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAG;IAC/E;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA;IAQA;AACF;AACA;AACA;AACA;IACE,mBAAUA,OAAO,EAAE;MACjB,OAAO,iBAAQS,OAAO,CAACT,OAAO,CAAC;IACjC;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAA;IAAA,OAMA,wBAAeA,OAAO,EAAEU,MAAM,EAAE;MAC9B,OAAO,iBAAQC,MAAM,CAACD,MAAM,CAAC;IAC/B;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAA;IAAA,OAMA,oBAAWV,OAAO,EAAEY,QAAQ,EAAE;MAC5B,OAAO,iBAAQH,OAAO,CAACG,QAAQ,CAAC;IAClC;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAA;IAAA,OAMA,yBAAgBZ,OAAO,EAAEU,MAAM,EAAE;MAC/B,OAAO,iBAAQC,MAAM,CAACD,MAAM,CAAC;IAC/B;EAAC;IAAA;IAAA,OAzCD,kBAAgB;MACd,MAAM,IAAIG,KAAK,CAAC,wCAAwC,CAAC;IAC3D;EAAC;EAAA;AAAA;AAAA"}
package/dist/lib/xhr.js CHANGED
@@ -1,66 +1,54 @@
1
1
  /*!
2
2
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
3
  */
4
+
4
5
  // Need to fork xhr to support environments with full object freezing; namely,
5
6
  // SalesForce's Aura and Locker environment.
7
+
6
8
  // See https://github.com/naugtur/xhr for license information
9
+
7
10
  // Maintain the original code style of https://github.com/naugtur/xhr since
8
11
  // we're trying to diverge as little as possible.
9
-
10
12
  /* eslint-disable */
11
- "use strict";
12
13
 
13
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
14
+ 'use strict';
14
15
 
16
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
15
17
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
16
-
17
18
  _Object$defineProperty(exports, "__esModule", {
18
19
  value: true
19
20
  });
20
-
21
21
  exports.default = void 0;
22
-
23
22
  var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
24
-
25
- var window = require("global/window");
26
-
27
- var isFunction = require("is-function");
28
-
29
- var parseHeaders = require("parse-headers");
30
-
31
- var xtend = require("xtend");
32
-
23
+ var window = require('global/window');
24
+ var isFunction = require('is-function');
25
+ var parseHeaders = require('parse-headers');
26
+ var xtend = require('xtend');
33
27
  createXHR.XMLHttpRequest = window.XMLHttpRequest || noop;
34
- createXHR.XDomainRequest = "withCredentials" in new createXHR.XMLHttpRequest() ? createXHR.XMLHttpRequest : window.XDomainRequest;
35
- forEachArray(["get", "put", "post", "patch", "head", "delete"], function (method) {
36
- createXHR[method === "delete" ? "del" : method] = function (uri, options, callback) {
28
+ createXHR.XDomainRequest = 'withCredentials' in new createXHR.XMLHttpRequest() ? createXHR.XMLHttpRequest : window.XDomainRequest;
29
+ forEachArray(['get', 'put', 'post', 'patch', 'head', 'delete'], function (method) {
30
+ createXHR[method === 'delete' ? 'del' : method] = function (uri, options, callback) {
37
31
  options = initParams(uri, options, callback);
38
32
  options.method = method.toUpperCase();
39
33
  return _createXHR(options);
40
34
  };
41
35
  });
42
-
43
36
  function forEachArray(array, iterator) {
44
37
  for (var i = 0; i < array.length; i += 1) {
45
38
  iterator(array[i]);
46
39
  }
47
40
  }
48
-
49
41
  function isEmpty(obj) {
50
42
  for (var i in obj) {
51
43
  if (obj.hasOwnProperty(i)) return false;
52
44
  }
53
-
54
45
  return true;
55
46
  }
56
-
57
47
  function initParams(uri, options, callback) {
58
48
  var params = uri;
59
-
60
49
  if (isFunction(options)) {
61
50
  callback = options;
62
-
63
- if (typeof uri === "string") {
51
+ if (typeof uri === 'string') {
64
52
  params = {
65
53
  uri: uri
66
54
  };
@@ -70,82 +58,66 @@ function initParams(uri, options, callback) {
70
58
  uri: uri
71
59
  });
72
60
  }
73
-
74
61
  params.callback = callback;
75
62
  return params;
76
63
  }
77
-
78
64
  function createXHR(uri, options, callback) {
79
65
  options = initParams(uri, options, callback);
80
66
  return _createXHR(options);
81
67
  }
82
-
83
68
  function _createXHR(options) {
84
- if (typeof options.callback === "undefined") {
85
- throw new Error("callback argument missing");
69
+ if (typeof options.callback === 'undefined') {
70
+ throw new Error('callback argument missing');
86
71
  }
87
-
88
72
  var called = false;
89
-
90
73
  var callback = function cbOnce(err, response, body) {
91
74
  if (!called) {
92
75
  called = true;
93
76
  options.callback(err, response, body);
94
77
  }
95
78
  };
96
-
97
79
  function readystatechange() {
98
80
  if (xhr.readyState === 4) {
99
81
  setTimeout(loadFunc, 0);
100
82
  }
101
83
  }
102
-
103
84
  function getBody() {
104
85
  // Chrome with requestType=blob throws errors arround when even testing access to responseText
105
86
  var body = undefined;
106
-
107
87
  if (xhr.response) {
108
88
  body = xhr.response;
109
89
  } else {
110
90
  body = xhr.responseText || getXml(xhr);
111
91
  }
112
-
113
92
  if (isJson) {
114
93
  try {
115
94
  body = JSON.parse(body);
116
95
  } catch (e) {}
117
96
  }
118
-
119
97
  return body;
120
98
  }
121
-
122
99
  function errorFunc(evt) {
123
100
  clearTimeout(timeoutTimer);
124
-
125
101
  if (!(evt instanceof Error)) {
126
- evt = new Error("" + (evt || "Unknown XMLHttpRequest Error"));
102
+ evt = new Error('' + (evt || 'Unknown XMLHttpRequest Error'));
127
103
  }
128
-
129
104
  evt.statusCode = 0;
130
105
  return callback(evt, failureResponse);
131
- } // will load the data & process the response in a special response object
132
-
106
+ }
133
107
 
108
+ // will load the data & process the response in a special response object
134
109
  function loadFunc() {
135
110
  if (aborted) return;
136
111
  var status;
137
112
  clearTimeout(timeoutTimer);
138
-
139
113
  if (options.useXDR && xhr.status === undefined) {
140
114
  //IE8 CORS GET successful response doesn't have a status field, but body is fine
141
115
  status = 200;
142
116
  } else {
143
117
  status = xhr.status === 1223 ? 204 : xhr.status;
144
118
  }
145
-
146
119
  var response = failureResponse;
147
120
  var err = null;
148
-
149
121
  if (status !== 0) {
150
122
  response = {
151
123
  body: getBody(),
@@ -155,20 +127,16 @@ function _createXHR(options) {
155
127
  url: uri,
156
128
  rawRequest: xhr
157
129
  };
158
-
159
130
  if (xhr.getAllResponseHeaders) {
160
131
  //remember xhr can in fact be XDR for CORS in IE
161
132
  response.headers = parseHeaders(xhr.getAllResponseHeaders());
162
133
  }
163
134
  } else {
164
- err = new Error("Internal XMLHttpRequest Error");
135
+ err = new Error('Internal XMLHttpRequest Error');
165
136
  }
166
-
167
137
  return callback(err, response, response.body);
168
138
  }
169
-
170
139
  var xhr = options.xhr || null;
171
-
172
140
  if (!xhr) {
173
141
  if (options.cors || options.useXDR) {
174
142
  xhr = new createXHR.XDomainRequest();
@@ -176,11 +144,10 @@ function _createXHR(options) {
176
144
  xhr = new createXHR.XMLHttpRequest();
177
145
  }
178
146
  }
179
-
180
147
  var key;
181
148
  var aborted;
182
149
  var uri = options.uri || options.url;
183
- var method = options.method || "GET";
150
+ var method = options.method || 'GET';
184
151
  var body = options.body || options.data;
185
152
  var headers = options.headers || {};
186
153
  var sync = !!options.sync;
@@ -194,51 +161,43 @@ function _createXHR(options) {
194
161
  url: uri,
195
162
  rawRequest: xhr
196
163
  };
197
-
198
- if ("json" in options && options.json !== false) {
164
+ if ('json' in options && options.json !== false) {
199
165
  isJson = true;
200
- headers["accept"] || headers["Accept"] || (headers["Accept"] = "application/json"); //Don't override existing accept header declared by user
201
-
202
- if (method !== "GET" && method !== "HEAD") {
203
- headers["content-type"] || headers["Content-Type"] || (headers["Content-Type"] = "application/json"); //Don't override existing accept header declared by user
204
-
166
+ headers['accept'] || headers['Accept'] || (headers['Accept'] = 'application/json'); //Don't override existing accept header declared by user
167
+ if (method !== 'GET' && method !== 'HEAD') {
168
+ headers['content-type'] || headers['Content-Type'] || (headers['Content-Type'] = 'application/json'); //Don't override existing accept header declared by user
205
169
  body = (0, _stringify.default)(options.json === true ? body : options.json);
206
170
  }
207
171
  }
208
-
209
172
  xhr.onreadystatechange = readystatechange;
210
173
  xhr.onload = loadFunc;
211
- xhr.onerror = errorFunc; // IE9 must have onprogress be set to a unique function.
212
-
213
- xhr.onprogress = function () {// IE must die
174
+ xhr.onerror = errorFunc;
175
+ // IE9 must have onprogress be set to a unique function.
176
+ xhr.onprogress = function () {
177
+ // IE must die
214
178
  };
215
-
216
179
  xhr.onabort = function () {
217
180
  aborted = true;
218
181
  };
219
-
220
182
  xhr.ontimeout = errorFunc;
221
- xhr.open(method, uri, !sync, options.username, options.password); //has to be after open
222
-
183
+ xhr.open(method, uri, !sync, options.username, options.password);
184
+ //has to be after open
223
185
  if (!sync) {
224
186
  xhr.withCredentials = !!options.withCredentials;
225
- } // Cannot set timeout with sync request
187
+ }
188
+ // Cannot set timeout with sync request
226
189
  // not setting timeout on the xhr object, because of old webkits etc. not handling that correctly
227
190
  // both npm's request and jquery 1.x use this kind of timeout, so this is being consistent
228
-
229
-
230
191
  if (!sync && options.timeout > 0) {
231
192
  timeoutTimer = setTimeout(function () {
232
193
  if (aborted) return;
233
194
  aborted = true; //IE9 may still call readystatechange
234
-
235
- xhr.abort("timeout");
236
- var e = new Error("XMLHttpRequest timeout");
237
- e.code = "ETIMEDOUT";
195
+ xhr.abort('timeout');
196
+ var e = new Error('XMLHttpRequest timeout');
197
+ e.code = 'ETIMEDOUT';
238
198
  errorFunc(e);
239
199
  }, options.timeout);
240
200
  }
241
-
242
201
  if (xhr.setRequestHeader) {
243
202
  for (key in headers) {
244
203
  if (headers.hasOwnProperty(key)) {
@@ -246,40 +205,32 @@ function _createXHR(options) {
246
205
  }
247
206
  }
248
207
  } else if (options.headers && !isEmpty(options.headers)) {
249
- throw new Error("Headers cannot be set on an XDomainRequest object");
208
+ throw new Error('Headers cannot be set on an XDomainRequest object');
250
209
  }
251
-
252
- if ("responseType" in options) {
210
+ if ('responseType' in options) {
253
211
  xhr.responseType = options.responseType;
254
212
  }
255
-
256
- if ("beforeSend" in options && typeof options.beforeSend === "function") {
213
+ if ('beforeSend' in options && typeof options.beforeSend === 'function') {
257
214
  options.beforeSend(xhr);
258
- } // Microsoft Edge browser sends "undefined" when send is called with undefined value.
215
+ }
216
+
217
+ // Microsoft Edge browser sends "undefined" when send is called with undefined value.
259
218
  // XMLHttpRequest spec says to pass null as body to indicate no body
260
219
  // See https://github.com/naugtur/xhr/issues/100.
261
-
262
-
263
220
  xhr.send(body || null);
264
221
  return xhr;
265
222
  }
266
-
267
223
  function getXml(xhr) {
268
- if (xhr.responseType === "document") {
224
+ if (xhr.responseType === 'document') {
269
225
  return xhr.responseXML;
270
226
  }
271
-
272
- var firefoxBugTakenEffect = xhr.responseXML && xhr.responseXML.documentElement.nodeName === "parsererror";
273
-
274
- if (xhr.responseType === "" && !firefoxBugTakenEffect) {
227
+ var firefoxBugTakenEffect = xhr.responseXML && xhr.responseXML.documentElement.nodeName === 'parsererror';
228
+ if (xhr.responseType === '' && !firefoxBugTakenEffect) {
275
229
  return xhr.responseXML;
276
230
  }
277
-
278
231
  return null;
279
232
  }
280
-
281
233
  function noop() {}
282
-
283
234
  var _default = createXHR;
284
235
  exports.default = _default;
285
236
  //# sourceMappingURL=xhr.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["window","require","isFunction","parseHeaders","xtend","createXHR","XMLHttpRequest","noop","XDomainRequest","forEachArray","method","uri","options","callback","initParams","toUpperCase","_createXHR","array","iterator","i","length","isEmpty","obj","hasOwnProperty","params","Error","called","cbOnce","err","response","body","readystatechange","xhr","readyState","setTimeout","loadFunc","getBody","undefined","responseText","getXml","isJson","JSON","parse","e","errorFunc","evt","clearTimeout","timeoutTimer","statusCode","failureResponse","aborted","status","useXDR","headers","url","rawRequest","getAllResponseHeaders","cors","key","data","sync","json","onreadystatechange","onload","onerror","onprogress","onabort","ontimeout","open","username","password","withCredentials","timeout","abort","code","setRequestHeader","responseType","beforeSend","send","responseXML","firefoxBugTakenEffect","documentElement","nodeName"],"sources":["xhr.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n// Need to fork xhr to support environments with full object freezing; namely,\n// SalesForce's Aura and Locker environment.\n\n// See https://github.com/naugtur/xhr for license information\n\n// Maintain the original code style of https://github.com/naugtur/xhr since\n// we're trying to diverge as little as possible.\n/* eslint-disable */\n\n\"use strict\";\nvar window = require(\"global/window\")\nvar isFunction = require(\"is-function\")\nvar parseHeaders = require(\"parse-headers\")\nvar xtend = require(\"xtend\")\n\ncreateXHR.XMLHttpRequest = window.XMLHttpRequest || noop\ncreateXHR.XDomainRequest = \"withCredentials\" in (new createXHR.XMLHttpRequest()) ? createXHR.XMLHttpRequest : window.XDomainRequest\n\nforEachArray([\"get\", \"put\", \"post\", \"patch\", \"head\", \"delete\"], function(method) {\n createXHR[method === \"delete\" ? \"del\" : method] = function(uri, options, callback) {\n options = initParams(uri, options, callback)\n options.method = method.toUpperCase()\n return _createXHR(options)\n }\n})\n\nfunction forEachArray(array, iterator) {\n for (var i = 0; i < array.length; i+= 1) {\n iterator(array[i])\n }\n}\n\nfunction isEmpty(obj){\n for(var i in obj){\n if(obj.hasOwnProperty(i)) return false\n }\n return true\n}\n\nfunction initParams(uri, options, callback) {\n var params = uri\n\n if (isFunction(options)) {\n callback = options\n if (typeof uri === \"string\") {\n params = {uri:uri}\n }\n } else {\n params = xtend(options, {uri: uri})\n }\n\n params.callback = callback\n return params\n}\n\nfunction createXHR(uri, options, callback) {\n options = initParams(uri, options, callback)\n return _createXHR(options)\n}\n\nfunction _createXHR(options) {\n if(typeof options.callback === \"undefined\"){\n throw new Error(\"callback argument missing\")\n }\n\n var called = false\n var callback = function cbOnce(err, response, body){\n if(!called){\n called = true\n options.callback(err, response, body)\n }\n }\n\n function readystatechange() {\n if (xhr.readyState === 4) {\n setTimeout(loadFunc, 0)\n }\n }\n\n function getBody() {\n // Chrome with requestType=blob throws errors arround when even testing access to responseText\n var body = undefined\n\n if (xhr.response) {\n body = xhr.response\n } else {\n body = xhr.responseText || getXml(xhr)\n }\n\n if (isJson) {\n try {\n body = JSON.parse(body)\n } catch (e) {}\n }\n\n return body\n }\n\n function errorFunc(evt) {\n clearTimeout(timeoutTimer)\n if(!(evt instanceof Error)){\n evt = new Error(\"\" + (evt || \"Unknown XMLHttpRequest Error\") )\n }\n evt.statusCode = 0\n return callback(evt, failureResponse)\n }\n\n // will load the data & process the response in a special response object\n function loadFunc() {\n if (aborted) return\n var status\n clearTimeout(timeoutTimer)\n if(options.useXDR && xhr.status===undefined) {\n //IE8 CORS GET successful response doesn't have a status field, but body is fine\n status = 200\n } else {\n status = (xhr.status === 1223 ? 204 : xhr.status)\n }\n var response = failureResponse\n var err = null\n\n if (status !== 0){\n response = {\n body: getBody(),\n statusCode: status,\n method: method,\n headers: {},\n url: uri,\n rawRequest: xhr\n }\n if(xhr.getAllResponseHeaders){ //remember xhr can in fact be XDR for CORS in IE\n response.headers = parseHeaders(xhr.getAllResponseHeaders())\n }\n } else {\n err = new Error(\"Internal XMLHttpRequest Error\")\n }\n return callback(err, response, response.body)\n }\n\n var xhr = options.xhr || null\n\n if (!xhr) {\n if (options.cors || options.useXDR) {\n xhr = new createXHR.XDomainRequest()\n }else{\n xhr = new createXHR.XMLHttpRequest()\n }\n }\n\n var key\n var aborted\n var uri = options.uri || options.url\n var method = options.method || \"GET\"\n var body = options.body || options.data\n var headers = options.headers || {}\n var sync = !!options.sync\n var isJson = false\n var timeoutTimer\n var failureResponse = {\n body: undefined,\n headers: {},\n statusCode: 0,\n method: method,\n url: uri,\n rawRequest: xhr\n }\n\n if (\"json\" in options && options.json !== false) {\n isJson = true\n headers[\"accept\"] || headers[\"Accept\"] || (headers[\"Accept\"] = \"application/json\") //Don't override existing accept header declared by user\n if (method !== \"GET\" && method !== \"HEAD\") {\n headers[\"content-type\"] || headers[\"Content-Type\"] || (headers[\"Content-Type\"] = \"application/json\") //Don't override existing accept header declared by user\n body = JSON.stringify(options.json === true ? body : options.json)\n }\n }\n\n xhr.onreadystatechange = readystatechange\n xhr.onload = loadFunc\n xhr.onerror = errorFunc\n // IE9 must have onprogress be set to a unique function.\n xhr.onprogress = function () {\n // IE must die\n }\n xhr.onabort = function(){\n aborted = true;\n }\n xhr.ontimeout = errorFunc\n xhr.open(method, uri, !sync, options.username, options.password)\n //has to be after open\n if(!sync) {\n xhr.withCredentials = !!options.withCredentials\n }\n // Cannot set timeout with sync request\n // not setting timeout on the xhr object, because of old webkits etc. not handling that correctly\n // both npm's request and jquery 1.x use this kind of timeout, so this is being consistent\n if (!sync && options.timeout > 0 ) {\n timeoutTimer = setTimeout(function(){\n if (aborted) return\n aborted = true//IE9 may still call readystatechange\n xhr.abort(\"timeout\")\n var e = new Error(\"XMLHttpRequest timeout\")\n e.code = \"ETIMEDOUT\"\n errorFunc(e)\n }, options.timeout )\n }\n\n if (xhr.setRequestHeader) {\n for(key in headers){\n if(headers.hasOwnProperty(key)){\n xhr.setRequestHeader(key, headers[key])\n }\n }\n } else if (options.headers && !isEmpty(options.headers)) {\n throw new Error(\"Headers cannot be set on an XDomainRequest object\")\n }\n\n if (\"responseType\" in options) {\n xhr.responseType = options.responseType\n }\n\n if (\"beforeSend\" in options &&\n typeof options.beforeSend === \"function\"\n ) {\n options.beforeSend(xhr)\n }\n\n // Microsoft Edge browser sends \"undefined\" when send is called with undefined value.\n // XMLHttpRequest spec says to pass null as body to indicate no body\n // See https://github.com/naugtur/xhr/issues/100.\n xhr.send(body || null)\n\n return xhr\n\n\n}\n\nfunction getXml(xhr) {\n if (xhr.responseType === \"document\") {\n return xhr.responseXML\n }\n var firefoxBugTakenEffect = xhr.responseXML && xhr.responseXML.documentElement.nodeName === \"parsererror\"\n if (xhr.responseType === \"\" && !firefoxBugTakenEffect) {\n return xhr.responseXML\n }\n\n return null\n}\n\nfunction noop() {}\n\nexport default createXHR;\n"],"mappings":"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"}
1
+ {"version":3,"names":["window","require","isFunction","parseHeaders","xtend","createXHR","XMLHttpRequest","noop","XDomainRequest","forEachArray","method","uri","options","callback","initParams","toUpperCase","_createXHR","array","iterator","i","length","isEmpty","obj","hasOwnProperty","params","Error","called","cbOnce","err","response","body","readystatechange","xhr","readyState","setTimeout","loadFunc","getBody","undefined","responseText","getXml","isJson","JSON","parse","e","errorFunc","evt","clearTimeout","timeoutTimer","statusCode","failureResponse","aborted","status","useXDR","headers","url","rawRequest","getAllResponseHeaders","cors","key","data","sync","json","onreadystatechange","onload","onerror","onprogress","onabort","ontimeout","open","username","password","withCredentials","timeout","abort","code","setRequestHeader","responseType","beforeSend","send","responseXML","firefoxBugTakenEffect","documentElement","nodeName"],"sources":["xhr.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n// Need to fork xhr to support environments with full object freezing; namely,\n// SalesForce's Aura and Locker environment.\n\n// See https://github.com/naugtur/xhr for license information\n\n// Maintain the original code style of https://github.com/naugtur/xhr since\n// we're trying to diverge as little as possible.\n/* eslint-disable */\n\n'use strict';\nvar window = require('global/window');\nvar isFunction = require('is-function');\nvar parseHeaders = require('parse-headers');\nvar xtend = require('xtend');\n\ncreateXHR.XMLHttpRequest = window.XMLHttpRequest || noop;\ncreateXHR.XDomainRequest =\n 'withCredentials' in new createXHR.XMLHttpRequest()\n ? createXHR.XMLHttpRequest\n : window.XDomainRequest;\n\nforEachArray(['get', 'put', 'post', 'patch', 'head', 'delete'], function (method) {\n createXHR[method === 'delete' ? 'del' : method] = function (uri, options, callback) {\n options = initParams(uri, options, callback);\n options.method = method.toUpperCase();\n return _createXHR(options);\n };\n});\n\nfunction forEachArray(array, iterator) {\n for (var i = 0; i < array.length; i += 1) {\n iterator(array[i]);\n }\n}\n\nfunction isEmpty(obj) {\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) return false;\n }\n return true;\n}\n\nfunction initParams(uri, options, callback) {\n var params = uri;\n\n if (isFunction(options)) {\n callback = options;\n if (typeof uri === 'string') {\n params = {uri: uri};\n }\n } else {\n params = xtend(options, {uri: uri});\n }\n\n params.callback = callback;\n return params;\n}\n\nfunction createXHR(uri, options, callback) {\n options = initParams(uri, options, callback);\n return _createXHR(options);\n}\n\nfunction _createXHR(options) {\n if (typeof options.callback === 'undefined') {\n throw new Error('callback argument missing');\n }\n\n var called = false;\n var callback = function cbOnce(err, response, body) {\n if (!called) {\n called = true;\n options.callback(err, response, body);\n }\n };\n\n function readystatechange() {\n if (xhr.readyState === 4) {\n setTimeout(loadFunc, 0);\n }\n }\n\n function getBody() {\n // Chrome with requestType=blob throws errors arround when even testing access to responseText\n var body = undefined;\n\n if (xhr.response) {\n body = xhr.response;\n } else {\n body = xhr.responseText || getXml(xhr);\n }\n\n if (isJson) {\n try {\n body = JSON.parse(body);\n } catch (e) {}\n }\n\n return body;\n }\n\n function errorFunc(evt) {\n clearTimeout(timeoutTimer);\n if (!(evt instanceof Error)) {\n evt = new Error('' + (evt || 'Unknown XMLHttpRequest Error'));\n }\n evt.statusCode = 0;\n return callback(evt, failureResponse);\n }\n\n // will load the data & process the response in a special response object\n function loadFunc() {\n if (aborted) return;\n var status;\n clearTimeout(timeoutTimer);\n if (options.useXDR && xhr.status === undefined) {\n //IE8 CORS GET successful response doesn't have a status field, but body is fine\n status = 200;\n } else {\n status = xhr.status === 1223 ? 204 : xhr.status;\n }\n var response = failureResponse;\n var err = null;\n\n if (status !== 0) {\n response = {\n body: getBody(),\n statusCode: status,\n method: method,\n headers: {},\n url: uri,\n rawRequest: xhr,\n };\n if (xhr.getAllResponseHeaders) {\n //remember xhr can in fact be XDR for CORS in IE\n response.headers = parseHeaders(xhr.getAllResponseHeaders());\n }\n } else {\n err = new Error('Internal XMLHttpRequest Error');\n }\n return callback(err, response, response.body);\n }\n\n var xhr = options.xhr || null;\n\n if (!xhr) {\n if (options.cors || options.useXDR) {\n xhr = new createXHR.XDomainRequest();\n } else {\n xhr = new createXHR.XMLHttpRequest();\n }\n }\n\n var key;\n var aborted;\n var uri = options.uri || options.url;\n var method = options.method || 'GET';\n var body = options.body || options.data;\n var headers = options.headers || {};\n var sync = !!options.sync;\n var isJson = false;\n var timeoutTimer;\n var failureResponse = {\n body: undefined,\n headers: {},\n statusCode: 0,\n method: method,\n url: uri,\n rawRequest: xhr,\n };\n\n if ('json' in options && options.json !== false) {\n isJson = true;\n headers['accept'] || headers['Accept'] || (headers['Accept'] = 'application/json'); //Don't override existing accept header declared by user\n if (method !== 'GET' && method !== 'HEAD') {\n headers['content-type'] ||\n headers['Content-Type'] ||\n (headers['Content-Type'] = 'application/json'); //Don't override existing accept header declared by user\n body = JSON.stringify(options.json === true ? body : options.json);\n }\n }\n\n xhr.onreadystatechange = readystatechange;\n xhr.onload = loadFunc;\n xhr.onerror = errorFunc;\n // IE9 must have onprogress be set to a unique function.\n xhr.onprogress = function () {\n // IE must die\n };\n xhr.onabort = function () {\n aborted = true;\n };\n xhr.ontimeout = errorFunc;\n xhr.open(method, uri, !sync, options.username, options.password);\n //has to be after open\n if (!sync) {\n xhr.withCredentials = !!options.withCredentials;\n }\n // Cannot set timeout with sync request\n // not setting timeout on the xhr object, because of old webkits etc. not handling that correctly\n // both npm's request and jquery 1.x use this kind of timeout, so this is being consistent\n if (!sync && options.timeout > 0) {\n timeoutTimer = setTimeout(function () {\n if (aborted) return;\n aborted = true; //IE9 may still call readystatechange\n xhr.abort('timeout');\n var e = new Error('XMLHttpRequest timeout');\n e.code = 'ETIMEDOUT';\n errorFunc(e);\n }, options.timeout);\n }\n\n if (xhr.setRequestHeader) {\n for (key in headers) {\n if (headers.hasOwnProperty(key)) {\n xhr.setRequestHeader(key, headers[key]);\n }\n }\n } else if (options.headers && !isEmpty(options.headers)) {\n throw new Error('Headers cannot be set on an XDomainRequest object');\n }\n\n if ('responseType' in options) {\n xhr.responseType = options.responseType;\n }\n\n if ('beforeSend' in options && typeof options.beforeSend === 'function') {\n options.beforeSend(xhr);\n }\n\n // Microsoft Edge browser sends \"undefined\" when send is called with undefined value.\n // XMLHttpRequest spec says to pass null as body to indicate no body\n // See https://github.com/naugtur/xhr/issues/100.\n xhr.send(body || null);\n\n return xhr;\n}\n\nfunction getXml(xhr) {\n if (xhr.responseType === 'document') {\n return xhr.responseXML;\n }\n var firefoxBugTakenEffect =\n xhr.responseXML && xhr.responseXML.documentElement.nodeName === 'parsererror';\n if (xhr.responseType === '' && !firefoxBugTakenEffect) {\n return xhr.responseXML;\n }\n\n return null;\n}\n\nfunction noop() {}\n\nexport default createXHR;\n"],"mappings":"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"}
@@ -1,21 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = ProgressEvent;
12
-
13
9
  var _defineProperties = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/define-properties"));
14
-
15
10
  var _isNan = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/number/is-nan"));
16
-
17
11
  var _isNumber2 = _interopRequireDefault(require("lodash/isNumber"));
18
-
19
12
  /**
20
13
  * Object of the same shape as web browser ProgressEvents
21
14
  * @class ProgressEvent
@@ -1 +1 @@
1
- {"version":3,"names":["ProgressEvent","loaded","total","enumerable","value","writable","lengthComputable"],"sources":["progress-event.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {isNumber} from 'lodash';\n\n/**\n * Object of the same shape as web browser ProgressEvents\n * @class ProgressEvent\n * @param {integer} loaded\n * @param {integer} total\n * @returns {ProgressEvent}\n */\nexport default function ProgressEvent(loaded, total) {\n Object.defineProperties(this, {\n loaded: {\n enumerable: true,\n value: loaded,\n writable: false\n },\n total: {\n enumerable: true,\n value: total,\n writable: false\n },\n lengthComputable: {\n enumerable: true,\n value: isNumber(loaded) && !Number.isNaN(loaded) && isNumber(total) && !Number.isNaN(total) && total > 0,\n writable: false\n }\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,aAAT,CAAuBC,MAAvB,EAA+BC,KAA/B,EAAsC;EACnD,+BAAwB,IAAxB,EAA8B;IAC5BD,MAAM,EAAE;MACNE,UAAU,EAAE,IADN;MAENC,KAAK,EAAEH,MAFD;MAGNI,QAAQ,EAAE;IAHJ,CADoB;IAM5BH,KAAK,EAAE;MACLC,UAAU,EAAE,IADP;MAELC,KAAK,EAAEF,KAFF;MAGLG,QAAQ,EAAE;IAHL,CANqB;IAW5BC,gBAAgB,EAAE;MAChBH,UAAU,EAAE,IADI;MAEhBC,KAAK,EAAE,wBAASH,MAAT,KAAoB,CAAC,oBAAaA,MAAb,CAArB,IAA6C,wBAASC,KAAT,CAA7C,IAAgE,CAAC,oBAAaA,KAAb,CAAjE,IAAwFA,KAAK,GAAG,CAFvF;MAGhBG,QAAQ,EAAE;IAHM;EAXU,CAA9B;AAiBD"}
1
+ {"version":3,"names":["ProgressEvent","loaded","total","enumerable","value","writable","lengthComputable"],"sources":["progress-event.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {isNumber} from 'lodash';\n\n/**\n * Object of the same shape as web browser ProgressEvents\n * @class ProgressEvent\n * @param {integer} loaded\n * @param {integer} total\n * @returns {ProgressEvent}\n */\nexport default function ProgressEvent(loaded, total) {\n Object.defineProperties(this, {\n loaded: {\n enumerable: true,\n value: loaded,\n writable: false,\n },\n total: {\n enumerable: true,\n value: total,\n writable: false,\n },\n lengthComputable: {\n enumerable: true,\n value:\n isNumber(loaded) &&\n !Number.isNaN(loaded) &&\n isNumber(total) &&\n !Number.isNaN(total) &&\n total > 0,\n writable: false,\n },\n });\n}\n"],"mappings":";;;;;;;;;;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,aAAa,CAACC,MAAM,EAAEC,KAAK,EAAE;EACnD,+BAAwB,IAAI,EAAE;IAC5BD,MAAM,EAAE;MACNE,UAAU,EAAE,IAAI;MAChBC,KAAK,EAAEH,MAAM;MACbI,QAAQ,EAAE;IACZ,CAAC;IACDH,KAAK,EAAE;MACLC,UAAU,EAAE,IAAI;MAChBC,KAAK,EAAEF,KAAK;MACZG,QAAQ,EAAE;IACZ,CAAC;IACDC,gBAAgB,EAAE;MAChBH,UAAU,EAAE,IAAI;MAChBC,KAAK,EACH,wBAASH,MAAM,CAAC,IAChB,CAAC,oBAAaA,MAAM,CAAC,IACrB,wBAASC,KAAK,CAAC,IACf,CAAC,oBAAaA,KAAK,CAAC,IACpBA,KAAK,GAAG,CAAC;MACXG,QAAQ,EAAE;IACZ;EACF,CAAC,CAAC;AACJ"}
@@ -1,21 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = request;
12
-
13
9
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
14
-
15
10
  var _events = require("events");
16
-
17
11
  var _request2 = _interopRequireDefault(require("./request"));
18
-
19
12
  /*!
20
13
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
21
14
  */
@@ -29,7 +22,6 @@ function request(options) {
29
22
  options.uri = options.url;
30
23
  options.url = null;
31
24
  }
32
-
33
25
  options.headers = options.headers || {};
34
26
  options.download = new _events.EventEmitter();
35
27
  options.upload = new _events.EventEmitter();
@@ -37,15 +29,14 @@ function request(options) {
37
29
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
38
30
  args[_key] = arguments[_key];
39
31
  }
40
-
41
32
  return _request2.default.apply(void 0, [options].concat(args));
42
33
  }).then(function () {
43
34
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
44
35
  args[_key2] = arguments[_key2];
45
36
  }
46
-
47
37
  return intercept.apply(void 0, [options.interceptors.slice().reverse(), 'Response'].concat(args));
48
38
  });
39
+
49
40
  /**
50
41
  * @param {Array} interceptors
51
42
  * @param {string} key
@@ -53,26 +44,21 @@ function request(options) {
53
44
  * @private
54
45
  * @returns {Promise}
55
46
  */
56
-
57
47
  function intercept(interceptors, key, res) {
58
48
  var successKey = "on".concat(key);
59
49
  var errorKey = "on".concat(key, "Error");
60
50
  return interceptors.reduce(function (promise, interceptor) {
61
51
  return promise.then(function (result) {
62
52
  interceptor.logOptions(options);
63
-
64
53
  if (interceptor[successKey]) {
65
54
  return interceptor[successKey](options, result);
66
55
  }
67
-
68
56
  return _promise.default.resolve(result);
69
57
  }, function (reason) {
70
58
  interceptor.logOptions(options);
71
-
72
59
  if (interceptor[errorKey]) {
73
60
  return interceptor[errorKey](options, reason);
74
61
  }
75
-
76
62
  return _promise.default.reject(reason);
77
63
  });
78
64
  }, _promise.default.resolve(res));