@webex/http-core 3.0.0-beta.9 → 3.0.0-beta.90

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 (39) 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/package.json +10 -10
  25. package/src/http-error-subtypes.js +1 -1
  26. package/src/http-error.js +15 -23
  27. package/src/index.js +4 -9
  28. package/src/interceptors/http-status.js +7 -5
  29. package/src/lib/detect.js +0 -1
  30. package/src/lib/interceptor.js +2 -4
  31. package/src/lib/xhr.js +197 -194
  32. package/src/progress-event.js +10 -5
  33. package/src/request/request.js +16 -14
  34. package/src/request/request.shim.js +47 -38
  35. package/test/integration/spec/http-error.js +11 -11
  36. package/test/integration/spec/interceptor.js +20 -13
  37. package/test/integration/spec/progress-event.js +8 -8
  38. package/test/integration/spec/request.js +135 -127
  39. package/test/unit/spec/interceptors/http-status.js +14 -11
@@ -1 +1 @@
1
- {"version":3,"names":["request","options","url","uri","headers","download","EventEmitter","upload","intercept","interceptors","then","args","_request","slice","reverse","key","res","successKey","errorKey","reduce","promise","interceptor","result","logOptions","resolve","reason","reject"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {EventEmitter} from 'events';\n\nimport _request from './request';\n\n/**\n * @param {Object} options\n * @returns {Promise}\n */\nexport default function request(options) {\n if (options.url) {\n options.uri = options.url;\n options.url = null;\n }\n\n options.headers = options.headers || {};\n\n options.download = new EventEmitter();\n options.upload = new EventEmitter();\n\n return intercept(options.interceptors, 'Request')\n .then((...args) => _request(options, ...args))\n .then((...args) => intercept(options.interceptors.slice().reverse(), 'Response', ...args));\n\n /**\n * @param {Array} interceptors\n * @param {string} key\n * @param {Object} res\n * @private\n * @returns {Promise}\n */\n function intercept(interceptors, key, res) {\n const successKey = `on${key}`;\n const errorKey = `on${key}Error`;\n\n return interceptors.reduce(\n (promise, interceptor) =>\n promise.then(\n (result) => {\n interceptor.logOptions(options);\n if (interceptor[successKey]) {\n return interceptor[successKey](options, result);\n }\n\n return Promise.resolve(result);\n },\n (reason) => {\n interceptor.logOptions(options);\n if (interceptor[errorKey]) {\n return interceptor[errorKey](options, reason);\n }\n\n return Promise.reject(reason);\n }\n ),\n Promise.resolve(res)\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAIA;;AAEA;;AANA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACe,SAASA,OAAT,CAAiBC,OAAjB,EAA0B;EACvC,IAAIA,OAAO,CAACC,GAAZ,EAAiB;IACfD,OAAO,CAACE,GAAR,GAAcF,OAAO,CAACC,GAAtB;IACAD,OAAO,CAACC,GAAR,GAAc,IAAd;EACD;;EAEDD,OAAO,CAACG,OAAR,GAAkBH,OAAO,CAACG,OAAR,IAAmB,EAArC;EAEAH,OAAO,CAACI,QAAR,GAAmB,IAAIC,oBAAJ,EAAnB;EACAL,OAAO,CAACM,MAAR,GAAiB,IAAID,oBAAJ,EAAjB;EAEA,OAAOE,SAAS,CAACP,OAAO,CAACQ,YAAT,EAAuB,SAAvB,CAAT,CACJC,IADI,CACC;IAAA,kCAAIC,IAAJ;MAAIA,IAAJ;IAAA;;IAAA,OAAaC,iBAAA,gBAASX,OAAT,SAAqBU,IAArB,EAAb;EAAA,CADD,EAEJD,IAFI,CAEC;IAAA,mCAAIC,IAAJ;MAAIA,IAAJ;IAAA;;IAAA,OAAaH,SAAS,MAAT,UAAUP,OAAO,CAACQ,YAAR,CAAqBI,KAArB,GAA6BC,OAA7B,EAAV,EAAkD,UAAlD,SAAiEH,IAAjE,EAAb;EAAA,CAFD,CAAP;EAIA;AACF;AACA;AACA;AACA;AACA;AACA;;EACE,SAASH,SAAT,CAAmBC,YAAnB,EAAiCM,GAAjC,EAAsCC,GAAtC,EAA2C;IACzC,IAAMC,UAAU,eAAQF,GAAR,CAAhB;IACA,IAAMG,QAAQ,eAAQH,GAAR,UAAd;IAEA,OAAON,YAAY,CAACU,MAAb,CACL,UAACC,OAAD,EAAUC,WAAV;MAAA,OACED,OAAO,CAACV,IAAR,CACE,UAACY,MAAD,EAAY;QACVD,WAAW,CAACE,UAAZ,CAAuBtB,OAAvB;;QACA,IAAIoB,WAAW,CAACJ,UAAD,CAAf,EAA6B;UAC3B,OAAOI,WAAW,CAACJ,UAAD,CAAX,CAAwBhB,OAAxB,EAAiCqB,MAAjC,CAAP;QACD;;QAED,OAAO,iBAAQE,OAAR,CAAgBF,MAAhB,CAAP;MACD,CARH,EASE,UAACG,MAAD,EAAY;QACVJ,WAAW,CAACE,UAAZ,CAAuBtB,OAAvB;;QACA,IAAIoB,WAAW,CAACH,QAAD,CAAf,EAA2B;UACzB,OAAOG,WAAW,CAACH,QAAD,CAAX,CAAsBjB,OAAtB,EAA+BwB,MAA/B,CAAP;QACD;;QAED,OAAO,iBAAQC,MAAR,CAAeD,MAAf,CAAP;MACD,CAhBH,CADF;IAAA,CADK,EAoBL,iBAAQD,OAAR,CAAgBR,GAAhB,CApBK,CAAP;EAsBD;AACF"}
1
+ {"version":3,"names":["request","options","url","uri","headers","download","EventEmitter","upload","intercept","interceptors","then","args","_request","slice","reverse","key","res","successKey","errorKey","reduce","promise","interceptor","result","logOptions","resolve","reason","reject"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {EventEmitter} from 'events';\n\nimport _request from './request';\n\n/**\n * @param {Object} options\n * @returns {Promise}\n */\nexport default function request(options) {\n if (options.url) {\n options.uri = options.url;\n options.url = null;\n }\n\n options.headers = options.headers || {};\n\n options.download = new EventEmitter();\n options.upload = new EventEmitter();\n\n return intercept(options.interceptors, 'Request')\n .then((...args) => _request(options, ...args))\n .then((...args) => intercept(options.interceptors.slice().reverse(), 'Response', ...args));\n\n /**\n * @param {Array} interceptors\n * @param {string} key\n * @param {Object} res\n * @private\n * @returns {Promise}\n */\n function intercept(interceptors, key, res) {\n const successKey = `on${key}`;\n const errorKey = `on${key}Error`;\n\n return interceptors.reduce(\n (promise, interceptor) =>\n promise.then(\n (result) => {\n interceptor.logOptions(options);\n if (interceptor[successKey]) {\n return interceptor[successKey](options, result);\n }\n\n return Promise.resolve(result);\n },\n (reason) => {\n interceptor.logOptions(options);\n if (interceptor[errorKey]) {\n return interceptor[errorKey](options, reason);\n }\n\n return Promise.reject(reason);\n }\n ),\n Promise.resolve(res)\n );\n }\n}\n"],"mappings":";;;;;;;;;AAIA;AAEA;AANA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACe,SAASA,OAAO,CAACC,OAAO,EAAE;EACvC,IAAIA,OAAO,CAACC,GAAG,EAAE;IACfD,OAAO,CAACE,GAAG,GAAGF,OAAO,CAACC,GAAG;IACzBD,OAAO,CAACC,GAAG,GAAG,IAAI;EACpB;EAEAD,OAAO,CAACG,OAAO,GAAGH,OAAO,CAACG,OAAO,IAAI,CAAC,CAAC;EAEvCH,OAAO,CAACI,QAAQ,GAAG,IAAIC,oBAAY,EAAE;EACrCL,OAAO,CAACM,MAAM,GAAG,IAAID,oBAAY,EAAE;EAEnC,OAAOE,SAAS,CAACP,OAAO,CAACQ,YAAY,EAAE,SAAS,CAAC,CAC9CC,IAAI,CAAC;IAAA,kCAAIC,IAAI;MAAJA,IAAI;IAAA;IAAA,OAAKC,iBAAQ,gBAACX,OAAO,SAAKU,IAAI,EAAC;EAAA,EAAC,CAC7CD,IAAI,CAAC;IAAA,mCAAIC,IAAI;MAAJA,IAAI;IAAA;IAAA,OAAKH,SAAS,gBAACP,OAAO,CAACQ,YAAY,CAACI,KAAK,EAAE,CAACC,OAAO,EAAE,EAAE,UAAU,SAAKH,IAAI,EAAC;EAAA,EAAC;;EAE5F;AACF;AACA;AACA;AACA;AACA;AACA;EACE,SAASH,SAAS,CAACC,YAAY,EAAEM,GAAG,EAAEC,GAAG,EAAE;IACzC,IAAMC,UAAU,eAAQF,GAAG,CAAE;IAC7B,IAAMG,QAAQ,eAAQH,GAAG,UAAO;IAEhC,OAAON,YAAY,CAACU,MAAM,CACxB,UAACC,OAAO,EAAEC,WAAW;MAAA,OACnBD,OAAO,CAACV,IAAI,CACV,UAACY,MAAM,EAAK;QACVD,WAAW,CAACE,UAAU,CAACtB,OAAO,CAAC;QAC/B,IAAIoB,WAAW,CAACJ,UAAU,CAAC,EAAE;UAC3B,OAAOI,WAAW,CAACJ,UAAU,CAAC,CAAChB,OAAO,EAAEqB,MAAM,CAAC;QACjD;QAEA,OAAO,iBAAQE,OAAO,CAACF,MAAM,CAAC;MAChC,CAAC,EACD,UAACG,MAAM,EAAK;QACVJ,WAAW,CAACE,UAAU,CAACtB,OAAO,CAAC;QAC/B,IAAIoB,WAAW,CAACH,QAAQ,CAAC,EAAE;UACzB,OAAOG,WAAW,CAACH,QAAQ,CAAC,CAACjB,OAAO,EAAEwB,MAAM,CAAC;QAC/C;QAEA,OAAO,iBAAQC,MAAM,CAACD,MAAM,CAAC;MAC/B,CAAC,CACF;IAAA,GACH,iBAAQD,OAAO,CAACR,GAAG,CAAC,CACrB;EACH;AACF"}
@@ -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 = _request;
12
-
13
9
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
14
-
15
10
  var _parseInt2 = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/parse-int"));
16
-
17
11
  var _request2 = _interopRequireDefault(require("request"));
18
-
19
12
  var _safeBuffer = require("safe-buffer");
20
-
21
13
  var _common = require("@webex/common");
22
-
23
14
  var _detect = _interopRequireDefault(require("../lib/detect"));
24
-
25
15
  var _progressEvent = _interopRequireDefault(require("../progress-event"));
26
-
27
16
  /*!
28
17
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
29
18
  */
@@ -37,27 +26,23 @@ function prepareOptions(options) {
37
26
  if (options.responseType === 'buffer' || options.responseType === 'blob') {
38
27
  options.encoding = null;
39
28
  }
40
-
41
29
  if (options.withCredentials) {
42
30
  options.jar = true;
43
31
  }
44
-
45
32
  if ((0, _common.isBuffer)(options.body)) {
46
33
  return (0, _detect.default)(options.body).then(function (type) {
47
34
  options.headers['content-type'] = type;
48
35
  return options;
49
36
  });
50
37
  }
51
-
52
38
  return _promise.default.resolve(options);
53
39
  }
40
+
54
41
  /**
55
42
  * @param {Object} options
56
43
  * @private
57
44
  * @returns {Promise}
58
45
  */
59
-
60
-
61
46
  function doRequest(options) {
62
47
  return new _promise.default(function (resolve) {
63
48
  var logger = options.logger;
@@ -65,15 +50,14 @@ function doRequest(options) {
65
50
  if (error) {
66
51
  logger.warn(error);
67
52
  }
68
-
69
53
  if (response) {
70
- response.options = options; // I'm not sure why this line is necessary. request seems to be creating
71
- // buffers that aren't Buffers.
54
+ response.options = options;
72
55
 
56
+ // I'm not sure why this line is necessary. request seems to be creating
57
+ // buffers that aren't Buffers.
73
58
  if (options.responseType === 'buffer' && response.body.type === 'Buffer' && !(0, _common.isBuffer)(response.body)) {
74
59
  response.body = _safeBuffer.Buffer.from(response.body);
75
60
  }
76
-
77
61
  if ((0, _common.isBuffer)(response.body) && !response.body.type) {
78
62
  resolve((0, _detect.default)(response.body).then(function (type) {
79
63
  response.body.type = type;
@@ -81,7 +65,6 @@ function doRequest(options) {
81
65
  }));
82
66
  return;
83
67
  }
84
-
85
68
  resolve(response);
86
69
  } else {
87
70
  // Make a network error behave like a browser network error.
@@ -105,13 +88,12 @@ function doRequest(options) {
105
88
  });
106
89
  });
107
90
  }
91
+
108
92
  /**
109
93
  * @name request
110
94
  * @param {Object} options
111
95
  * @returns {Promise}
112
96
  */
113
-
114
-
115
97
  function _request(options) {
116
98
  return prepareOptions(options).then(doRequest);
117
99
  }
@@ -1 +1 @@
1
- {"version":3,"names":["prepareOptions","options","responseType","encoding","withCredentials","jar","isBuffer","body","detect","then","type","headers","resolve","doRequest","logger","r","request","error","response","warn","Buffer","from","statusCode","method","url","on","total","loaded","data","length","download","emit","ProgressEvent","_request"],"sources":["request.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport request from 'request';\nimport {Buffer} from 'safe-buffer';\nimport {isBuffer} from '@webex/common';\n\nimport detect from '../lib/detect';\nimport ProgressEvent from '../progress-event';\n\n/**\n * @param {Object} options\n * @private\n * @returns {Promise}\n */\nfunction prepareOptions(options) {\n if (options.responseType === 'buffer' || options.responseType === 'blob') {\n options.encoding = null;\n }\n\n if (options.withCredentials) {\n options.jar = true;\n }\n\n if (isBuffer(options.body)) {\n return detect(options.body)\n .then((type) => {\n options.headers['content-type'] = type;\n\n return options;\n });\n }\n\n return Promise.resolve(options);\n}\n\n/**\n * @param {Object} options\n * @private\n * @returns {Promise}\n */\nfunction doRequest(options) {\n return new Promise((resolve) => {\n const {logger} = options;\n\n const r = request(options, (error, response) => {\n if (error) {\n logger.warn(error);\n }\n\n if (response) {\n response.options = options;\n\n // I'm not sure why this line is necessary. request seems to be creating\n // buffers that aren't Buffers.\n if (options.responseType === 'buffer' && response.body.type === 'Buffer' && !isBuffer(response.body)) {\n response.body = Buffer.from(response.body);\n }\n\n if (isBuffer(response.body) && !response.body.type) {\n resolve(detect(response.body)\n .then((type) => {\n response.body.type = type;\n\n return response;\n }));\n\n return;\n }\n\n resolve(response);\n }\n else {\n // Make a network error behave like a browser network error.\n resolve({\n statusCode: 0,\n options,\n headers: options.headers,\n method: options.method,\n url: options.url,\n body: error\n });\n }\n });\n\n r.on('response', (response) => {\n const total = parseInt(response.headers['content-length'], 10);\n let loaded = 0;\n\n response.on('data', (data) => {\n loaded += data.length;\n options.download.emit('progress', new ProgressEvent(loaded, total));\n });\n });\n });\n}\n\n/**\n * @name request\n * @param {Object} options\n * @returns {Promise}\n */\nexport default function _request(options) {\n return prepareOptions(options)\n .then(doRequest);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["prepareOptions","options","responseType","encoding","withCredentials","jar","isBuffer","body","detect","then","type","headers","resolve","doRequest","logger","r","request","error","response","warn","Buffer","from","statusCode","method","url","on","total","loaded","data","length","download","emit","ProgressEvent","_request"],"sources":["request.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport request from 'request';\nimport {Buffer} from 'safe-buffer';\nimport {isBuffer} from '@webex/common';\n\nimport detect from '../lib/detect';\nimport ProgressEvent from '../progress-event';\n\n/**\n * @param {Object} options\n * @private\n * @returns {Promise}\n */\nfunction prepareOptions(options) {\n if (options.responseType === 'buffer' || options.responseType === 'blob') {\n options.encoding = null;\n }\n\n if (options.withCredentials) {\n options.jar = true;\n }\n\n if (isBuffer(options.body)) {\n return detect(options.body).then((type) => {\n options.headers['content-type'] = type;\n\n return options;\n });\n }\n\n return Promise.resolve(options);\n}\n\n/**\n * @param {Object} options\n * @private\n * @returns {Promise}\n */\nfunction doRequest(options) {\n return new Promise((resolve) => {\n const {logger} = options;\n\n const r = request(options, (error, response) => {\n if (error) {\n logger.warn(error);\n }\n\n if (response) {\n response.options = options;\n\n // I'm not sure why this line is necessary. request seems to be creating\n // buffers that aren't Buffers.\n if (\n options.responseType === 'buffer' &&\n response.body.type === 'Buffer' &&\n !isBuffer(response.body)\n ) {\n response.body = Buffer.from(response.body);\n }\n\n if (isBuffer(response.body) && !response.body.type) {\n resolve(\n detect(response.body).then((type) => {\n response.body.type = type;\n\n return response;\n })\n );\n\n return;\n }\n\n resolve(response);\n } else {\n // Make a network error behave like a browser network error.\n resolve({\n statusCode: 0,\n options,\n headers: options.headers,\n method: options.method,\n url: options.url,\n body: error,\n });\n }\n });\n\n r.on('response', (response) => {\n const total = parseInt(response.headers['content-length'], 10);\n let loaded = 0;\n\n response.on('data', (data) => {\n loaded += data.length;\n options.download.emit('progress', new ProgressEvent(loaded, total));\n });\n });\n });\n}\n\n/**\n * @name request\n * @param {Object} options\n * @returns {Promise}\n */\nexport default function _request(options) {\n return prepareOptions(options).then(doRequest);\n}\n"],"mappings":"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"}
@@ -1,53 +1,30 @@
1
1
  "use strict";
2
2
 
3
3
  var _Array$from = require("@babel/runtime-corejs2/core-js/array/from");
4
-
5
4
  var _Symbol = require("@babel/runtime-corejs2/core-js/symbol");
6
-
7
5
  var _Symbol$iterator = require("@babel/runtime-corejs2/core-js/symbol/iterator");
8
-
9
6
  var _Array$isArray = require("@babel/runtime-corejs2/core-js/array/is-array");
10
-
11
7
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
12
-
13
8
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
14
-
15
9
  _Object$defineProperty(exports, "__esModule", {
16
10
  value: true
17
11
  });
18
-
19
12
  exports.default = _request;
20
-
21
13
  var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
22
-
23
14
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
24
-
25
15
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
26
-
27
16
  var _deleteProperty = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/delete-property"));
28
-
29
17
  var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/typeof"));
30
-
31
18
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
32
-
33
19
  var _pick2 = _interopRequireDefault(require("lodash/pick"));
34
-
35
20
  var _isArray2 = _interopRequireDefault(require("lodash/isArray"));
36
-
37
21
  var _defaults2 = _interopRequireDefault(require("lodash/defaults"));
38
-
39
22
  var _qs = _interopRequireDefault(require("qs"));
40
-
41
23
  var _xhr = _interopRequireDefault(require("../lib/xhr"));
42
-
43
24
  var _detect = _interopRequireDefault(require("../lib/detect"));
44
-
45
25
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol$iterator] || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
46
-
47
26
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
48
-
49
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
50
-
27
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
51
28
  /**
52
29
  * @name request
53
30
  * @param {Object} options
@@ -55,8 +32,9 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
55
32
  */
56
33
  function _request(options) {
57
34
  return new _promise.default(function (resolve) {
58
- var params = (0, _pick2.default)(options, 'method', 'uri', 'withCredentials', 'headers', 'timeout', 'responseType'); // Set `response` to `true` to approximate an `HttpResponse` object
35
+ var params = (0, _pick2.default)(options, 'method', 'uri', 'withCredentials', 'headers', 'timeout', 'responseType');
59
36
 
37
+ // Set `response` to `true` to approximate an `HttpResponse` object
60
38
  params.response = true;
61
39
  setXhr(params);
62
40
  bindProgressEvents(params, options);
@@ -73,16 +51,14 @@ function _request(options) {
73
51
  if (error) {
74
52
  options.logger.warn(error);
75
53
  }
76
- /* istanbul ignore else */
77
-
78
54
 
55
+ /* istanbul ignore else */
79
56
  if (response) {
80
57
  if (response.statusCode >= 400) {
81
58
  options.logger.warn("http ".concat(options.method ? options.method : 'request', " to ").concat(options.uri, " result: ").concat(response.statusCode));
82
59
  } else {
83
60
  options.logger.debug("http ".concat(options.method ? options.method : 'request', " to ").concat(options.uri, " result: ").concat(response.statusCode));
84
61
  }
85
-
86
62
  response.options = options;
87
63
  processResponseJson(response, params);
88
64
  resolve(response);
@@ -100,10 +76,9 @@ function _request(options) {
100
76
  x.onprogress = options.download.emit.bind(options.download, 'progress');
101
77
  }).catch(function (error) {
102
78
  options.logger.warn(error);
103
- /* eslint arrow-body-style: [0] */
104
79
 
80
+ /* eslint arrow-body-style: [0] */
105
81
  /* istanbul ignore next */
106
-
107
82
  return {
108
83
  statusCode: 0,
109
84
  options: options,
@@ -113,41 +88,38 @@ function _request(options) {
113
88
  body: error
114
89
  };
115
90
  });
91
+
116
92
  /**
117
93
  * @param {Object} params
118
94
  * @param {Object} o
119
95
  * @private
120
96
  * @returns {undefined}
121
97
  */
122
-
123
98
  function bindProgressEvents(params, o) {
124
99
  if (params.method && ['PATCH', 'POST', 'PUT'].includes(params.method.toUpperCase())) {
125
100
  if (!params.xhr) {
126
101
  params.xhr = new XMLHttpRequest();
127
102
  }
128
-
129
103
  params.xhr.upload.onprogress = o.upload.emit.bind(o.upload, 'progress');
130
104
  }
131
105
  }
106
+
132
107
  /**
133
108
  * @param {Object} params
134
109
  * @param {Object} o
135
110
  * @private
136
111
  * @returns {undefined}
137
112
  */
138
-
139
-
140
113
  function setXhr(params) {
141
114
  params.xhr = new XMLHttpRequest();
142
115
  }
116
+
143
117
  /**
144
118
  * @param {Object} params
145
119
  * @param {Object} o
146
120
  * @private
147
121
  * @returns {undefined}
148
122
  */
149
-
150
-
151
123
  function setAuth(params, o) {
152
124
  if (o.auth) {
153
125
  if (o.auth.bearer) {
@@ -160,27 +132,25 @@ function _request(options) {
160
132
  }
161
133
  }
162
134
  }
135
+
163
136
  /**
164
137
  * @param {Object} params
165
138
  * @param {Object} o
166
139
  * @private
167
140
  * @returns {undefined}
168
141
  */
169
-
170
-
171
142
  function setCookies(params, o) {
172
143
  if (o.jar) {
173
144
  params.withCredentials = true;
174
145
  }
175
146
  }
147
+
176
148
  /**
177
149
  * @param {Object} params
178
150
  * @param {Object} o
179
151
  * @private
180
152
  * @returns {undefined}
181
153
  */
182
-
183
-
184
154
  function setDefaults(params, o) {
185
155
  var defs = {
186
156
  cors: true,
@@ -191,27 +161,25 @@ function _request(options) {
191
161
  };
192
162
  (0, _defaults2.default)(params, (0, _pick2.default)(o, (0, _keys.default)(defs)), defs);
193
163
  }
164
+
194
165
  /**
195
166
  * @param {Object} params
196
167
  * @param {Object} o
197
168
  * @private
198
169
  * @returns {undefined}
199
170
  */
200
-
201
-
202
171
  function setResponseType(params, o) {
203
172
  if (o.responseType === 'buffer') {
204
173
  params.responseType = 'arraybuffer';
205
174
  }
206
175
  }
176
+
207
177
  /**
208
178
  * @param {Object} params
209
179
  * @param {Object} o
210
180
  * @private
211
181
  * @returns {undefined}
212
182
  */
213
-
214
-
215
183
  function setContentType(_x, _x2) {
216
184
  return _setContentType.apply(this, arguments);
217
185
  }
@@ -221,59 +189,47 @@ function _request(options) {
221
189
  * @private
222
190
  * @returns {undefined}
223
191
  */
224
-
225
-
226
192
  function _setContentType() {
227
193
  _setContentType = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(params, o) {
228
194
  return _regenerator.default.wrap(function _callee$(_context) {
229
- while (1) {
230
- switch (_context.prev = _context.next) {
231
- case 0:
232
- if (!(o.body instanceof Blob || o.body instanceof ArrayBuffer)) {
233
- _context.next = 8;
234
- break;
235
- }
236
-
237
- o.json = params.json = false;
238
- _context.t0 = params.headers['content-type'];
239
-
240
- if (_context.t0) {
241
- _context.next = 7;
242
- break;
243
- }
244
-
245
- _context.next = 6;
246
- return (0, _detect.default)(o.body);
247
-
248
- case 6:
249
- _context.t0 = _context.sent;
250
-
251
- case 7:
252
- params.headers['content-type'] = _context.t0;
253
-
254
- case 8:
255
- case "end":
256
- return _context.stop();
257
- }
195
+ while (1) switch (_context.prev = _context.next) {
196
+ case 0:
197
+ if (!(o.body instanceof Blob || o.body instanceof ArrayBuffer)) {
198
+ _context.next = 8;
199
+ break;
200
+ }
201
+ o.json = params.json = false;
202
+ _context.t0 = params.headers['content-type'];
203
+ if (_context.t0) {
204
+ _context.next = 7;
205
+ break;
206
+ }
207
+ _context.next = 6;
208
+ return (0, _detect.default)(o.body);
209
+ case 6:
210
+ _context.t0 = _context.sent;
211
+ case 7:
212
+ params.headers['content-type'] = _context.t0;
213
+ case 8:
214
+ case "end":
215
+ return _context.stop();
258
216
  }
259
217
  }, _callee);
260
218
  }));
261
219
  return _setContentType.apply(this, arguments);
262
220
  }
263
-
264
221
  function setQs(params, o) {
265
222
  if (o.qs) {
266
223
  params.uri += "?".concat(_qs.default.stringify(o.qs));
267
224
  }
268
225
  }
226
+
269
227
  /**
270
228
  * Converts arraybuffers to blobs before uploading them
271
229
  * @param {mixed} file
272
230
  * @private
273
231
  * @returns {mixed}
274
232
  */
275
-
276
-
277
233
  function ensureBlob(file) {
278
234
  if (file instanceof ArrayBuffer) {
279
235
  var ret = file.type ? new Blob([file], {
@@ -282,9 +238,9 @@ function _request(options) {
282
238
  ret.filename = file.filename || file.name || 'untitled';
283
239
  return ret;
284
240
  }
285
-
286
241
  return file;
287
242
  }
243
+
288
244
  /**
289
245
  * Appends an item to a form
290
246
  * @param {FormData} form
@@ -292,13 +248,10 @@ function _request(options) {
292
248
  * @param {mixed} value
293
249
  * @returns {undefined}
294
250
  */
295
-
296
-
297
251
  function append(form, key, value) {
298
252
  if ((0, _isArray2.default)(value)) {
299
253
  var _iterator = _createForOfIteratorHelper(value),
300
- _step;
301
-
254
+ _step;
302
255
  try {
303
256
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
304
257
  var v = _step.value;
@@ -309,12 +262,9 @@ function _request(options) {
309
262
  } finally {
310
263
  _iterator.f();
311
264
  }
312
-
313
265
  return;
314
266
  }
315
-
316
267
  value = ensureBlob(value);
317
-
318
268
  if (value.name) {
319
269
  value.filename = value.name;
320
270
  form.append(key, value, value.name);
@@ -322,14 +272,13 @@ function _request(options) {
322
272
  form.append(key, value);
323
273
  }
324
274
  }
275
+
325
276
  /**
326
277
  * @param {Object} params
327
278
  * @param {Object} o
328
279
  * @private
329
280
  * @returns {undefined}
330
281
  */
331
-
332
-
333
282
  function setPayload(params, o) {
334
283
  if ((!('json' in o) || o.json === true) && o.body) {
335
284
  params.json = o.body;
@@ -348,14 +297,13 @@ function _request(options) {
348
297
  (0, _deleteProperty.default)(params, 'json');
349
298
  }
350
299
  }
300
+
351
301
  /**
352
302
  * @param {Object} response
353
303
  * @param {Object} params
354
304
  * @private
355
305
  * @returns {undefined}
356
306
  */
357
-
358
-
359
307
  function processResponseJson(response, params) {
360
308
  // If params.json is not defined, xhr won't deserialize the response
361
309
  // so we should give it a shot just in case.
@@ -1 +1 @@
1
- {"version":3,"names":["_request","options","resolve","params","response","setXhr","bindProgressEvents","setAuth","setCookies","setDefaults","setResponseType","setContentType","setPayload","setQs","logger","debug","method","uri","x","xhr","error","warn","statusCode","processResponseJson","headers","url","body","onprogress","download","emit","bind","catch","o","includes","toUpperCase","XMLHttpRequest","upload","auth","bearer","authorization","user","username","pass","password","token","btoa","jar","withCredentials","defs","cors","timeout","responseType","Blob","ArrayBuffer","json","detect","qs","stringify","ensureBlob","file","ret","type","filename","name","append","form","key","value","v","formData","reduce","fd","FormData","JSON","parse","e"],"sources":["request.shim.js"],"sourcesContent":["/* eslint-disable no-underscore-dangle */\n/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint-env browser */\n\n// Note: several code paths are ignored in this file. As far as I can tell, any\n// error conditions that would provoke those paths are otherwise prevented and\n// reported.\n\nimport {defaults, isArray, pick} from 'lodash';\nimport qs from 'qs';\n\nimport xhr from '../lib/xhr';\nimport detect from '../lib/detect';\n\n/**\n * @name request\n * @param {Object} options\n * @returns {Promise}\n */\nexport default function _request(options) {\n return new Promise((resolve) => {\n const params = pick(options, 'method', 'uri', 'withCredentials', 'headers', 'timeout', 'responseType');\n\n // Set `response` to `true` to approximate an `HttpResponse` object\n params.response = true;\n\n setXhr(params);\n bindProgressEvents(params, options);\n setAuth(params, options);\n setCookies(params, options);\n setDefaults(params, options);\n setResponseType(params, options);\n setContentType(params, options);\n setPayload(params, options);\n setQs(params, options);\n\n options.logger.debug(`start http ${options.method ? options.method : 'request'} to ${options.uri}`);\n\n const x = xhr(params, (error, response) => {\n /* istanbul ignore next */\n if (error) {\n options.logger.warn(error);\n }\n\n /* istanbul ignore else */\n if (response) {\n if (response.statusCode >= 400) {\n options.logger.warn(`http ${options.method ? options.method : 'request'} to ${options.uri} result: ${response.statusCode}`);\n }\n else {\n options.logger.debug(`http ${options.method ? options.method : 'request'} to ${options.uri} result: ${response.statusCode}`);\n }\n response.options = options;\n processResponseJson(response, params);\n resolve(response);\n }\n else {\n resolve({\n statusCode: 0,\n options,\n headers: options.headers,\n method: options.method,\n url: options.uri,\n body: error\n });\n }\n });\n\n x.onprogress = options.download.emit.bind(options.download, 'progress');\n })\n .catch((error) => {\n options.logger.warn(error);\n\n /* eslint arrow-body-style: [0] */\n /* istanbul ignore next */\n return {\n statusCode: 0,\n options,\n headers: options.headers,\n method: options.method,\n url: options.uri,\n body: error\n };\n });\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function bindProgressEvents(params, o) {\n if (params.method && ['PATCH', 'POST', 'PUT'].includes(params.method.toUpperCase())) {\n if (!params.xhr) {\n params.xhr = new XMLHttpRequest();\n }\n params.xhr.upload.onprogress = o.upload.emit.bind(o.upload, 'progress');\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setXhr(params) {\n params.xhr = new XMLHttpRequest();\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setAuth(params, o) {\n if (o.auth) {\n if (o.auth.bearer) {\n params.headers.authorization = `Bearer ${o.auth.bearer}`;\n }\n else {\n const user = o.auth.user || o.auth.username;\n const pass = o.auth.pass || o.auth.password;\n\n const token = btoa(`${user}:${pass}`);\n\n params.headers.authorization = `Basic ${token}`;\n }\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setCookies(params, o) {\n if (o.jar) {\n params.withCredentials = true;\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setDefaults(params, o) {\n const defs = {\n cors: true,\n // raynos/xhr defaults withCredentials to true if cors is true, so we need\n // to make it explicitly false by default\n withCredentials: false,\n timeout: 0\n };\n\n defaults(params, pick(o, Object.keys(defs)), defs);\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setResponseType(params, o) {\n if (o.responseType === 'buffer') {\n params.responseType = 'arraybuffer';\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n async function setContentType(params, o) {\n if (o.body instanceof Blob || o.body instanceof ArrayBuffer) {\n o.json = params.json = false;\n params.headers['content-type'] = params.headers['content-type'] || await detect(o.body);\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setQs(params, o) {\n if (o.qs) {\n params.uri += `?${qs.stringify(o.qs)}`;\n }\n }\n\n /**\n * Converts arraybuffers to blobs before uploading them\n * @param {mixed} file\n * @private\n * @returns {mixed}\n */\n function ensureBlob(file) {\n if (file instanceof ArrayBuffer) {\n const ret = file.type ? new Blob([file], {type: file.type}) : new Blob([file]);\n\n ret.filename = file.filename || file.name || 'untitled';\n\n return ret;\n }\n\n return file;\n }\n\n /**\n * Appends an item to a form\n * @param {FormData} form\n * @param {string} key\n * @param {mixed} value\n * @returns {undefined}\n */\n function append(form, key, value) {\n if (isArray(value)) {\n for (const v of value) {\n append(form, key, v);\n }\n\n return;\n }\n\n value = ensureBlob(value);\n if (value.name) {\n value.filename = value.name;\n form.append(key, value, value.name);\n }\n else {\n form.append(key, value);\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setPayload(params, o) {\n if ((!('json' in o) || o.json === true) && o.body) {\n params.json = o.body;\n }\n else if (o.form) {\n params.headers['Content-Type'] = 'application/x-www-form-urlencoded';\n params.body = qs.stringify(o.form);\n Reflect.deleteProperty(params, 'json');\n }\n else if (o.formData) {\n params.body = Object.keys(o.formData).reduce((fd, key) => {\n const value = o.formData[key];\n\n append(fd, key, value);\n\n return fd;\n }, new FormData());\n }\n else {\n params.body = o.body;\n Reflect.deleteProperty(params, 'json');\n }\n }\n\n /**\n * @param {Object} response\n * @param {Object} params\n * @private\n * @returns {undefined}\n */\n function processResponseJson(response, params) {\n // If params.json is not defined, xhr won't deserialize the response\n // so we should give it a shot just in case.\n if (!params.json && typeof response.body !== 'object') {\n try {\n response.body = JSON.parse(response.body);\n }\n catch (e) {\n /* eslint no-empty: [0] */\n }\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA;;AAEA;;AACA;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACe,SAASA,QAAT,CAAkBC,OAAlB,EAA2B;EACxC,OAAO,qBAAY,UAACC,OAAD,EAAa;IAC9B,IAAMC,MAAM,GAAG,oBAAKF,OAAL,EAAc,QAAd,EAAwB,KAAxB,EAA+B,iBAA/B,EAAkD,SAAlD,EAA6D,SAA7D,EAAwE,cAAxE,CAAf,CAD8B,CAG9B;;IACAE,MAAM,CAACC,QAAP,GAAkB,IAAlB;IAEAC,MAAM,CAACF,MAAD,CAAN;IACAG,kBAAkB,CAACH,MAAD,EAASF,OAAT,CAAlB;IACAM,OAAO,CAACJ,MAAD,EAASF,OAAT,CAAP;IACAO,UAAU,CAACL,MAAD,EAASF,OAAT,CAAV;IACAQ,WAAW,CAACN,MAAD,EAASF,OAAT,CAAX;IACAS,eAAe,CAACP,MAAD,EAASF,OAAT,CAAf;IACAU,cAAc,CAACR,MAAD,EAASF,OAAT,CAAd;IACAW,UAAU,CAACT,MAAD,EAASF,OAAT,CAAV;IACAY,KAAK,CAACV,MAAD,EAASF,OAAT,CAAL;IAEAA,OAAO,CAACa,MAAR,CAAeC,KAAf,sBAAmCd,OAAO,CAACe,MAAR,GAAiBf,OAAO,CAACe,MAAzB,GAAkC,SAArE,iBAAqFf,OAAO,CAACgB,GAA7F;IAEA,IAAMC,CAAC,GAAG,IAAAC,YAAA,EAAIhB,MAAJ,EAAY,UAACiB,KAAD,EAAQhB,QAAR,EAAqB;MACzC;MACA,IAAIgB,KAAJ,EAAW;QACTnB,OAAO,CAACa,MAAR,CAAeO,IAAf,CAAoBD,KAApB;MACD;MAED;;;MACA,IAAIhB,QAAJ,EAAc;QACZ,IAAIA,QAAQ,CAACkB,UAAT,IAAuB,GAA3B,EAAgC;UAC9BrB,OAAO,CAACa,MAAR,CAAeO,IAAf,gBAA4BpB,OAAO,CAACe,MAAR,GAAiBf,OAAO,CAACe,MAAzB,GAAkC,SAA9D,iBAA8Ef,OAAO,CAACgB,GAAtF,sBAAqGb,QAAQ,CAACkB,UAA9G;QACD,CAFD,MAGK;UACHrB,OAAO,CAACa,MAAR,CAAeC,KAAf,gBAA6Bd,OAAO,CAACe,MAAR,GAAiBf,OAAO,CAACe,MAAzB,GAAkC,SAA/D,iBAA+Ef,OAAO,CAACgB,GAAvF,sBAAsGb,QAAQ,CAACkB,UAA/G;QACD;;QACDlB,QAAQ,CAACH,OAAT,GAAmBA,OAAnB;QACAsB,mBAAmB,CAACnB,QAAD,EAAWD,MAAX,CAAnB;QACAD,OAAO,CAACE,QAAD,CAAP;MACD,CAVD,MAWK;QACHF,OAAO,CAAC;UACNoB,UAAU,EAAE,CADN;UAENrB,OAAO,EAAPA,OAFM;UAGNuB,OAAO,EAAEvB,OAAO,CAACuB,OAHX;UAINR,MAAM,EAAEf,OAAO,CAACe,MAJV;UAKNS,GAAG,EAAExB,OAAO,CAACgB,GALP;UAMNS,IAAI,EAAEN;QANA,CAAD,CAAP;MAQD;IACF,CA5BS,CAAV;IA8BAF,CAAC,CAACS,UAAF,GAAe1B,OAAO,CAAC2B,QAAR,CAAiBC,IAAjB,CAAsBC,IAAtB,CAA2B7B,OAAO,CAAC2B,QAAnC,EAA6C,UAA7C,CAAf;EACD,CAjDM,EAkDJG,KAlDI,CAkDE,UAACX,KAAD,EAAW;IAChBnB,OAAO,CAACa,MAAR,CAAeO,IAAf,CAAoBD,KAApB;IAEA;;IACA;;IACA,OAAO;MACLE,UAAU,EAAE,CADP;MAELrB,OAAO,EAAPA,OAFK;MAGLuB,OAAO,EAAEvB,OAAO,CAACuB,OAHZ;MAILR,MAAM,EAAEf,OAAO,CAACe,MAJX;MAKLS,GAAG,EAAExB,OAAO,CAACgB,GALR;MAMLS,IAAI,EAAEN;IAND,CAAP;EAQD,CA/DI,CAAP;EAiEA;AACF;AACA;AACA;AACA;AACA;;EACE,SAASd,kBAAT,CAA4BH,MAA5B,EAAoC6B,CAApC,EAAuC;IACrC,IAAI7B,MAAM,CAACa,MAAP,IAAiB,CAAC,OAAD,EAAU,MAAV,EAAkB,KAAlB,EAAyBiB,QAAzB,CAAkC9B,MAAM,CAACa,MAAP,CAAckB,WAAd,EAAlC,CAArB,EAAqF;MACnF,IAAI,CAAC/B,MAAM,CAACgB,GAAZ,EAAiB;QACfhB,MAAM,CAACgB,GAAP,GAAa,IAAIgB,cAAJ,EAAb;MACD;;MACDhC,MAAM,CAACgB,GAAP,CAAWiB,MAAX,CAAkBT,UAAlB,GAA+BK,CAAC,CAACI,MAAF,CAASP,IAAT,CAAcC,IAAd,CAAmBE,CAAC,CAACI,MAArB,EAA6B,UAA7B,CAA/B;IACD;EACF;EAED;AACF;AACA;AACA;AACA;AACA;;;EACE,SAAS/B,MAAT,CAAgBF,MAAhB,EAAwB;IACtBA,MAAM,CAACgB,GAAP,GAAa,IAAIgB,cAAJ,EAAb;EACD;EAED;AACF;AACA;AACA;AACA;AACA;;;EACE,SAAS5B,OAAT,CAAiBJ,MAAjB,EAAyB6B,CAAzB,EAA4B;IAC1B,IAAIA,CAAC,CAACK,IAAN,EAAY;MACV,IAAIL,CAAC,CAACK,IAAF,CAAOC,MAAX,EAAmB;QACjBnC,MAAM,CAACqB,OAAP,CAAee,aAAf,oBAAyCP,CAAC,CAACK,IAAF,CAAOC,MAAhD;MACD,CAFD,MAGK;QACH,IAAME,IAAI,GAAGR,CAAC,CAACK,IAAF,CAAOG,IAAP,IAAeR,CAAC,CAACK,IAAF,CAAOI,QAAnC;QACA,IAAMC,IAAI,GAAGV,CAAC,CAACK,IAAF,CAAOK,IAAP,IAAeV,CAAC,CAACK,IAAF,CAAOM,QAAnC;QAEA,IAAMC,KAAK,GAAGC,IAAI,WAAIL,IAAJ,cAAYE,IAAZ,EAAlB;QAEAvC,MAAM,CAACqB,OAAP,CAAee,aAAf,mBAAwCK,KAAxC;MACD;IACF;EACF;EAED;AACF;AACA;AACA;AACA;AACA;;;EACE,SAASpC,UAAT,CAAoBL,MAApB,EAA4B6B,CAA5B,EAA+B;IAC7B,IAAIA,CAAC,CAACc,GAAN,EAAW;MACT3C,MAAM,CAAC4C,eAAP,GAAyB,IAAzB;IACD;EACF;EAED;AACF;AACA;AACA;AACA;AACA;;;EACE,SAAStC,WAAT,CAAqBN,MAArB,EAA6B6B,CAA7B,EAAgC;IAC9B,IAAMgB,IAAI,GAAG;MACXC,IAAI,EAAE,IADK;MAEX;MACA;MACAF,eAAe,EAAE,KAJN;MAKXG,OAAO,EAAE;IALE,CAAb;IAQA,wBAAS/C,MAAT,EAAiB,oBAAK6B,CAAL,EAAQ,mBAAYgB,IAAZ,CAAR,CAAjB,EAA6CA,IAA7C;EACD;EAED;AACF;AACA;AACA;AACA;AACA;;;EACE,SAAStC,eAAT,CAAyBP,MAAzB,EAAiC6B,CAAjC,EAAoC;IAClC,IAAIA,CAAC,CAACmB,YAAF,KAAmB,QAAvB,EAAiC;MAC/BhD,MAAM,CAACgD,YAAP,GAAsB,aAAtB;IACD;EACF;EAED;AACF;AACA;AACA;AACA;AACA;;;EAhK0C,SAiKzBxC,cAjKyB;IAAA;EAAA;EAwKxC;AACF;AACA;AACA;AACA;AACA;;;EA7K0C;IAAA,0FAiKxC,iBAA8BR,MAA9B,EAAsC6B,CAAtC;MAAA;QAAA;UAAA;YAAA;cAAA,MACMA,CAAC,CAACN,IAAF,YAAkB0B,IAAlB,IAA0BpB,CAAC,CAACN,IAAF,YAAkB2B,WADlD;gBAAA;gBAAA;cAAA;;cAEIrB,CAAC,CAACsB,IAAF,GAASnD,MAAM,CAACmD,IAAP,GAAc,KAAvB;cAFJ,cAGqCnD,MAAM,CAACqB,OAAP,CAAe,cAAf,CAHrC;;cAAA;gBAAA;gBAAA;cAAA;;cAAA;cAAA,OAG6E,IAAA+B,eAAA,EAAOvB,CAAC,CAACN,IAAT,CAH7E;;YAAA;cAAA;;YAAA;cAGIvB,MAAM,CAACqB,OAAP,CAAe,cAAf,CAHJ;;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA,CAjKwC;IAAA;EAAA;;EA8KxC,SAASX,KAAT,CAAeV,MAAf,EAAuB6B,CAAvB,EAA0B;IACxB,IAAIA,CAAC,CAACwB,EAAN,EAAU;MACRrD,MAAM,CAACc,GAAP,eAAkBuC,WAAA,CAAGC,SAAH,CAAazB,CAAC,CAACwB,EAAf,CAAlB;IACD;EACF;EAED;AACF;AACA;AACA;AACA;AACA;;;EACE,SAASE,UAAT,CAAoBC,IAApB,EAA0B;IACxB,IAAIA,IAAI,YAAYN,WAApB,EAAiC;MAC/B,IAAMO,GAAG,GAAGD,IAAI,CAACE,IAAL,GAAY,IAAIT,IAAJ,CAAS,CAACO,IAAD,CAAT,EAAiB;QAACE,IAAI,EAAEF,IAAI,CAACE;MAAZ,CAAjB,CAAZ,GAAkD,IAAIT,IAAJ,CAAS,CAACO,IAAD,CAAT,CAA9D;MAEAC,GAAG,CAACE,QAAJ,GAAeH,IAAI,CAACG,QAAL,IAAiBH,IAAI,CAACI,IAAtB,IAA8B,UAA7C;MAEA,OAAOH,GAAP;IACD;;IAED,OAAOD,IAAP;EACD;EAED;AACF;AACA;AACA;AACA;AACA;AACA;;;EACE,SAASK,MAAT,CAAgBC,IAAhB,EAAsBC,GAAtB,EAA2BC,KAA3B,EAAkC;IAChC,IAAI,uBAAQA,KAAR,CAAJ,EAAoB;MAAA,2CACFA,KADE;MAAA;;MAAA;QAClB,oDAAuB;UAAA,IAAZC,CAAY;UACrBJ,MAAM,CAACC,IAAD,EAAOC,GAAP,EAAYE,CAAZ,CAAN;QACD;MAHiB;QAAA;MAAA;QAAA;MAAA;;MAKlB;IACD;;IAEDD,KAAK,GAAGT,UAAU,CAACS,KAAD,CAAlB;;IACA,IAAIA,KAAK,CAACJ,IAAV,EAAgB;MACdI,KAAK,CAACL,QAAN,GAAiBK,KAAK,CAACJ,IAAvB;MACAE,IAAI,CAACD,MAAL,CAAYE,GAAZ,EAAiBC,KAAjB,EAAwBA,KAAK,CAACJ,IAA9B;IACD,CAHD,MAIK;MACHE,IAAI,CAACD,MAAL,CAAYE,GAAZ,EAAiBC,KAAjB;IACD;EACF;EAED;AACF;AACA;AACA;AACA;AACA;;;EACE,SAASvD,UAAT,CAAoBT,MAApB,EAA4B6B,CAA5B,EAA+B;IAC7B,IAAI,CAAC,EAAE,UAAUA,CAAZ,KAAkBA,CAAC,CAACsB,IAAF,KAAW,IAA9B,KAAuCtB,CAAC,CAACN,IAA7C,EAAmD;MACjDvB,MAAM,CAACmD,IAAP,GAActB,CAAC,CAACN,IAAhB;IACD,CAFD,MAGK,IAAIM,CAAC,CAACiC,IAAN,EAAY;MACf9D,MAAM,CAACqB,OAAP,CAAe,cAAf,IAAiC,mCAAjC;MACArB,MAAM,CAACuB,IAAP,GAAc8B,WAAA,CAAGC,SAAH,CAAazB,CAAC,CAACiC,IAAf,CAAd;MACA,6BAAuB9D,MAAvB,EAA+B,MAA/B;IACD,CAJI,MAKA,IAAI6B,CAAC,CAACqC,QAAN,EAAgB;MACnBlE,MAAM,CAACuB,IAAP,GAAc,mBAAYM,CAAC,CAACqC,QAAd,EAAwBC,MAAxB,CAA+B,UAACC,EAAD,EAAKL,GAAL,EAAa;QACxD,IAAMC,KAAK,GAAGnC,CAAC,CAACqC,QAAF,CAAWH,GAAX,CAAd;QAEAF,MAAM,CAACO,EAAD,EAAKL,GAAL,EAAUC,KAAV,CAAN;QAEA,OAAOI,EAAP;MACD,CANa,EAMX,IAAIC,QAAJ,EANW,CAAd;IAOD,CARI,MASA;MACHrE,MAAM,CAACuB,IAAP,GAAcM,CAAC,CAACN,IAAhB;MACA,6BAAuBvB,MAAvB,EAA+B,MAA/B;IACD;EACF;EAED;AACF;AACA;AACA;AACA;AACA;;;EACE,SAASoB,mBAAT,CAA6BnB,QAA7B,EAAuCD,MAAvC,EAA+C;IAC7C;IACA;IACA,IAAI,CAACA,MAAM,CAACmD,IAAR,IAAgB,sBAAOlD,QAAQ,CAACsB,IAAhB,MAAyB,QAA7C,EAAuD;MACrD,IAAI;QACFtB,QAAQ,CAACsB,IAAT,GAAgB+C,IAAI,CAACC,KAAL,CAAWtE,QAAQ,CAACsB,IAApB,CAAhB;MACD,CAFD,CAGA,OAAOiD,CAAP,EAAU;QACR;MACD;IACF;EACF;AACF"}
1
+ {"version":3,"names":["_request","options","resolve","params","response","setXhr","bindProgressEvents","setAuth","setCookies","setDefaults","setResponseType","setContentType","setPayload","setQs","logger","debug","method","uri","x","xhr","error","warn","statusCode","processResponseJson","headers","url","body","onprogress","download","emit","bind","catch","o","includes","toUpperCase","XMLHttpRequest","upload","auth","bearer","authorization","user","username","pass","password","token","btoa","jar","withCredentials","defs","cors","timeout","responseType","Blob","ArrayBuffer","json","detect","qs","stringify","ensureBlob","file","ret","type","filename","name","append","form","key","value","v","formData","reduce","fd","FormData","JSON","parse","e"],"sources":["request.shim.js"],"sourcesContent":["/* eslint-disable no-underscore-dangle */\n/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint-env browser */\n\n// Note: several code paths are ignored in this file. As far as I can tell, any\n// error conditions that would provoke those paths are otherwise prevented and\n// reported.\n\nimport {defaults, isArray, pick} from 'lodash';\nimport qs from 'qs';\n\nimport xhr from '../lib/xhr';\nimport detect from '../lib/detect';\n\n/**\n * @name request\n * @param {Object} options\n * @returns {Promise}\n */\nexport default function _request(options) {\n return new Promise((resolve) => {\n const params = pick(\n options,\n 'method',\n 'uri',\n 'withCredentials',\n 'headers',\n 'timeout',\n 'responseType'\n );\n\n // Set `response` to `true` to approximate an `HttpResponse` object\n params.response = true;\n\n setXhr(params);\n bindProgressEvents(params, options);\n setAuth(params, options);\n setCookies(params, options);\n setDefaults(params, options);\n setResponseType(params, options);\n setContentType(params, options);\n setPayload(params, options);\n setQs(params, options);\n\n options.logger.debug(\n `start http ${options.method ? options.method : 'request'} to ${options.uri}`\n );\n\n const x = xhr(params, (error, response) => {\n /* istanbul ignore next */\n if (error) {\n options.logger.warn(error);\n }\n\n /* istanbul ignore else */\n if (response) {\n if (response.statusCode >= 400) {\n options.logger.warn(\n `http ${options.method ? options.method : 'request'} to ${options.uri} result: ${\n response.statusCode\n }`\n );\n } else {\n options.logger.debug(\n `http ${options.method ? options.method : 'request'} to ${options.uri} result: ${\n response.statusCode\n }`\n );\n }\n response.options = options;\n processResponseJson(response, params);\n resolve(response);\n } else {\n resolve({\n statusCode: 0,\n options,\n headers: options.headers,\n method: options.method,\n url: options.uri,\n body: error,\n });\n }\n });\n\n x.onprogress = options.download.emit.bind(options.download, 'progress');\n }).catch((error) => {\n options.logger.warn(error);\n\n /* eslint arrow-body-style: [0] */\n /* istanbul ignore next */\n return {\n statusCode: 0,\n options,\n headers: options.headers,\n method: options.method,\n url: options.uri,\n body: error,\n };\n });\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function bindProgressEvents(params, o) {\n if (params.method && ['PATCH', 'POST', 'PUT'].includes(params.method.toUpperCase())) {\n if (!params.xhr) {\n params.xhr = new XMLHttpRequest();\n }\n params.xhr.upload.onprogress = o.upload.emit.bind(o.upload, 'progress');\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setXhr(params) {\n params.xhr = new XMLHttpRequest();\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setAuth(params, o) {\n if (o.auth) {\n if (o.auth.bearer) {\n params.headers.authorization = `Bearer ${o.auth.bearer}`;\n } else {\n const user = o.auth.user || o.auth.username;\n const pass = o.auth.pass || o.auth.password;\n\n const token = btoa(`${user}:${pass}`);\n\n params.headers.authorization = `Basic ${token}`;\n }\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setCookies(params, o) {\n if (o.jar) {\n params.withCredentials = true;\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setDefaults(params, o) {\n const defs = {\n cors: true,\n // raynos/xhr defaults withCredentials to true if cors is true, so we need\n // to make it explicitly false by default\n withCredentials: false,\n timeout: 0,\n };\n\n defaults(params, pick(o, Object.keys(defs)), defs);\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setResponseType(params, o) {\n if (o.responseType === 'buffer') {\n params.responseType = 'arraybuffer';\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n async function setContentType(params, o) {\n if (o.body instanceof Blob || o.body instanceof ArrayBuffer) {\n o.json = params.json = false;\n params.headers['content-type'] = params.headers['content-type'] || (await detect(o.body));\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setQs(params, o) {\n if (o.qs) {\n params.uri += `?${qs.stringify(o.qs)}`;\n }\n }\n\n /**\n * Converts arraybuffers to blobs before uploading them\n * @param {mixed} file\n * @private\n * @returns {mixed}\n */\n function ensureBlob(file) {\n if (file instanceof ArrayBuffer) {\n const ret = file.type ? new Blob([file], {type: file.type}) : new Blob([file]);\n\n ret.filename = file.filename || file.name || 'untitled';\n\n return ret;\n }\n\n return file;\n }\n\n /**\n * Appends an item to a form\n * @param {FormData} form\n * @param {string} key\n * @param {mixed} value\n * @returns {undefined}\n */\n function append(form, key, value) {\n if (isArray(value)) {\n for (const v of value) {\n append(form, key, v);\n }\n\n return;\n }\n\n value = ensureBlob(value);\n if (value.name) {\n value.filename = value.name;\n form.append(key, value, value.name);\n } else {\n form.append(key, value);\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setPayload(params, o) {\n if ((!('json' in o) || o.json === true) && o.body) {\n params.json = o.body;\n } else if (o.form) {\n params.headers['Content-Type'] = 'application/x-www-form-urlencoded';\n params.body = qs.stringify(o.form);\n Reflect.deleteProperty(params, 'json');\n } else if (o.formData) {\n params.body = Object.keys(o.formData).reduce((fd, key) => {\n const value = o.formData[key];\n\n append(fd, key, value);\n\n return fd;\n }, new FormData());\n } else {\n params.body = o.body;\n Reflect.deleteProperty(params, 'json');\n }\n }\n\n /**\n * @param {Object} response\n * @param {Object} params\n * @private\n * @returns {undefined}\n */\n function processResponseJson(response, params) {\n // If params.json is not defined, xhr won't deserialize the response\n // so we should give it a shot just in case.\n if (!params.json && typeof response.body !== 'object') {\n try {\n response.body = JSON.parse(response.body);\n } catch (e) {\n /* eslint no-empty: [0] */\n }\n }\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/http-core",
3
- "version": "3.0.0-beta.9",
3
+ "version": "3.0.0-beta.90",
4
4
  "description": "Core HTTP library for the Cisco Webex",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -24,18 +24,18 @@
24
24
  ]
25
25
  },
26
26
  "devDependencies": {
27
- "@webex/test-helper-chai": "3.0.0-beta.9",
28
- "@webex/test-helper-file": "3.0.0-beta.9",
29
- "@webex/test-helper-make-local-url": "3.0.0-beta.9",
30
- "@webex/test-helper-mocha": "3.0.0-beta.9",
27
+ "@webex/test-helper-chai": "3.0.0-beta.90",
28
+ "@webex/test-helper-file": "3.0.0-beta.90",
29
+ "@webex/test-helper-make-local-url": "3.0.0-beta.90",
30
+ "@webex/test-helper-mocha": "3.0.0-beta.90",
31
31
  "sinon": "^9.2.4"
32
32
  },
33
33
  "dependencies": {
34
- "@webex/common": "3.0.0-beta.9",
35
- "@webex/http-core": "3.0.0-beta.9",
36
- "@webex/internal-plugin-device": "3.0.0-beta.9",
37
- "@webex/test-helper-test-users": "3.0.0-beta.9",
38
- "@webex/webex-core": "3.0.0-beta.9",
34
+ "@webex/common": "3.0.0-beta.90",
35
+ "@webex/http-core": "3.0.0-beta.90",
36
+ "@webex/internal-plugin-device": "3.0.0-beta.90",
37
+ "@webex/test-helper-test-users": "3.0.0-beta.90",
38
+ "@webex/webex-core": "3.0.0-beta.90",
39
39
  "file-type": "^16.0.1",
40
40
  "global": "^4.4.0",
41
41
  "is-function": "^1.0.1",
@@ -182,6 +182,6 @@ export default function makeSubTypes(Base) {
182
182
  statusCode = parseInt(statusCode, 10);
183
183
 
184
184
  return Base[statusCode] || Base;
185
- }
185
+ },
186
186
  });
187
187
  }