@webex/http-core 2.60.0 → 2.60.1-next.2
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.
- package/dist/http-error-subtypes.js.map +1 -1
- package/dist/http-error.js +21 -22
- package/dist/http-error.js.map +1 -1
- package/dist/index.js +58 -13
- package/dist/index.js.map +1 -1
- package/dist/interceptors/http-status.js +4 -3
- package/dist/interceptors/http-status.js.map +1 -1
- package/dist/lib/interceptor.js +6 -4
- package/dist/lib/interceptor.js.map +1 -1
- package/dist/lib/xhr.js +7 -3
- package/dist/lib/xhr.js.map +1 -1
- package/dist/progress-event.js +6 -2
- package/dist/progress-event.js.map +1 -1
- package/dist/request/index.js +3 -30
- package/dist/request/index.js.map +1 -1
- package/dist/request/request.js.map +1 -1
- package/dist/request/request.shim.js +17 -14
- package/dist/request/request.shim.js.map +1 -1
- package/dist/request/utils.js +91 -0
- package/dist/request/utils.js.map +1 -0
- package/package.json +19 -18
- package/src/index.js +55 -0
- package/src/lib/xhr.js +5 -1
- package/src/request/index.js +4 -36
- package/src/request/request.shim.js +6 -2
- package/src/request/utils.ts +78 -0
- package/test/integration/spec/request.js +2 -1
- package/test/unit/spec/index.js +58 -0
- package/test/unit/spec/request/request.shim.js +23 -0
- package/test/unit/spec/request/utils.js +77 -0
package/dist/request/index.js
CHANGED
|
@@ -6,9 +6,9 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.default = request;
|
|
9
|
-
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
10
9
|
var _events = require("events");
|
|
11
10
|
var _request2 = _interopRequireDefault(require("./request"));
|
|
11
|
+
var _utils = require("./utils");
|
|
12
12
|
/*!
|
|
13
13
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
14
14
|
*/
|
|
@@ -25,7 +25,7 @@ function request(options) {
|
|
|
25
25
|
options.headers = options.headers || {};
|
|
26
26
|
options.download = new _events.EventEmitter();
|
|
27
27
|
options.upload = new _events.EventEmitter();
|
|
28
|
-
return intercept(options.interceptors, 'Request').then(function () {
|
|
28
|
+
return (0, _utils.intercept)(options, options.interceptors, 'Request').then(function () {
|
|
29
29
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
30
30
|
args[_key] = arguments[_key];
|
|
31
31
|
}
|
|
@@ -34,34 +34,7 @@ function request(options) {
|
|
|
34
34
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
35
35
|
args[_key2] = arguments[_key2];
|
|
36
36
|
}
|
|
37
|
-
return intercept.apply(void 0, [options.interceptors.slice().reverse(), 'Response'].concat(args));
|
|
37
|
+
return _utils.intercept.apply(void 0, [options, options.interceptors.slice().reverse(), 'Response'].concat(args));
|
|
38
38
|
});
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* @param {Array} interceptors
|
|
42
|
-
* @param {string} key
|
|
43
|
-
* @param {Object} res
|
|
44
|
-
* @private
|
|
45
|
-
* @returns {Promise}
|
|
46
|
-
*/
|
|
47
|
-
function intercept(interceptors, key, res) {
|
|
48
|
-
var successKey = "on".concat(key);
|
|
49
|
-
var errorKey = "on".concat(key, "Error");
|
|
50
|
-
return interceptors.reduce(function (promise, interceptor) {
|
|
51
|
-
return promise.then(function (result) {
|
|
52
|
-
interceptor.logOptions(options);
|
|
53
|
-
if (interceptor[successKey]) {
|
|
54
|
-
return interceptor[successKey](options, result);
|
|
55
|
-
}
|
|
56
|
-
return _promise.default.resolve(result);
|
|
57
|
-
}, function (reason) {
|
|
58
|
-
interceptor.logOptions(options);
|
|
59
|
-
if (interceptor[errorKey]) {
|
|
60
|
-
return interceptor[errorKey](options, reason);
|
|
61
|
-
}
|
|
62
|
-
return _promise.default.reject(reason);
|
|
63
|
-
});
|
|
64
|
-
}, _promise.default.resolve(res));
|
|
65
|
-
}
|
|
66
39
|
}
|
|
67
40
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_events","require","_request2","_interopRequireDefault","request","options","url","uri","headers","download","EventEmitter","upload","intercept","interceptors","then","_len","arguments","length","args","Array","_key","_request","apply","concat","_len2","_key2","slice","reverse"
|
|
1
|
+
{"version":3,"names":["_events","require","_request2","_interopRequireDefault","_utils","request","options","url","uri","headers","download","EventEmitter","upload","intercept","interceptors","then","_len","arguments","length","args","Array","_key","_request","apply","concat","_len2","_key2","slice","reverse"],"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';\nimport {intercept} from './utils';\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, options.interceptors, 'Request')\n .then((...args) => _request(options, ...args))\n .then((...args) =>\n intercept(options, options.interceptors.slice().reverse(), 'Response', ...args)\n );\n}\n"],"mappings":";;;;;;;;AAIA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAPA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACe,SAASI,OAAOA,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,CAAC,CAAC;EACrCL,OAAO,CAACM,MAAM,GAAG,IAAID,oBAAY,CAAC,CAAC;EAEnC,OAAO,IAAAE,gBAAS,EAACP,OAAO,EAAEA,OAAO,CAACQ,YAAY,EAAE,SAAS,CAAC,CACvDC,IAAI,CAAC;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAIC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAA,OAAKC,iBAAQ,CAAAC,KAAA,UAACjB,OAAO,EAAAkB,MAAA,CAAKL,IAAI,EAAC;EAAA,EAAC,CAC7CJ,IAAI,CAAC;IAAA,SAAAU,KAAA,GAAAR,SAAA,CAAAC,MAAA,EAAIC,IAAI,OAAAC,KAAA,CAAAK,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAAJP,IAAI,CAAAO,KAAA,IAAAT,SAAA,CAAAS,KAAA;IAAA;IAAA,OACZb,gBAAS,CAAAU,KAAA,UAACjB,OAAO,EAAEA,OAAO,CAACQ,YAAY,CAACa,KAAK,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAAJ,MAAA,CAAKL,IAAI,EAAC;EAAA,CACjF,CAAC;AACL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_request2","_interopRequireDefault","require","_safeBuffer","_common","_detect","_progressEvent","prepareOptions","options","responseType","encoding","withCredentials","jar","isBuffer","body","detect","then","type","headers","_promise","default","resolve","doRequest","logger","r","request","error","response","warn","Buffer","from","statusCode","method","url","on","total","_parseInt2","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":";;;;;;;;;;AAIA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,cAAA,GAAAL,sBAAA,CAAAC,OAAA;AATA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA,SAASK,cAAcA,CAACC,OAAO,EAAE;EAC/B,IAAIA,OAAO,CAACC,YAAY,KAAK,QAAQ,IAAID,OAAO,CAACC,YAAY,KAAK,MAAM,EAAE;IACxED,OAAO,CAACE,QAAQ,GAAG,IAAI;EACzB;EAEA,IAAIF,OAAO,CAACG,eAAe,EAAE;IAC3BH,OAAO,CAACI,GAAG,GAAG,IAAI;EACpB;EAEA,IAAI,IAAAC,gBAAQ,EAACL,OAAO,CAACM,IAAI,CAAC,EAAE;IAC1B,OAAO,IAAAC,eAAM,EAACP,OAAO,CAACM,IAAI,CAAC,CAACE,IAAI,CAAC,UAACC,IAAI,EAAK;MACzCT,OAAO,CAACU,OAAO,CAAC,cAAc,CAAC,GAAGD,IAAI;MAEtC,OAAOT,OAAO;IAChB,CAAC,CAAC;EACJ;EAEA,OAAOW,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAACb,OAAO,CAAC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASc,SAASA,CAACd,OAAO,EAAE;EAC1B,OAAO,IAAAW,QAAA,CAAAC,OAAA,CAAY,UAACC,OAAO,EAAK;IAC9B,IAAOE,MAAM,GAAIf,OAAO,CAAjBe,MAAM;IAEb,IAAMC,CAAC,GAAG,IAAAC,iBAAO,EAACjB,OAAO,EAAE,UAACkB,KAAK,EAAEC,QAAQ,EAAK;MAC9C,IAAID,KAAK,EAAE;QACTH,MAAM,CAACK,IAAI,CAACF,KAAK,CAAC;MACpB;MAEA,IAAIC,QAAQ,EAAE;QACZA,QAAQ,CAACnB,OAAO,GAAGA,OAAO;;QAE1B;QACA;QACA,IACEA,OAAO,CAACC,YAAY,KAAK,QAAQ,IACjCkB,QAAQ,CAACb,IAAI,CAACG,IAAI,KAAK,QAAQ,IAC/B,CAAC,IAAAJ,gBAAQ,EAACc,QAAQ,CAACb,IAAI,CAAC,EACxB;UACAa,QAAQ,CAACb,IAAI,GAAGe,kBAAM,CAACC,IAAI,CAACH,QAAQ,CAACb,IAAI,CAAC;QAC5C;QAEA,IAAI,IAAAD,gBAAQ,EAACc,QAAQ,CAACb,IAAI,CAAC,IAAI,CAACa,QAAQ,CAACb,IAAI,CAACG,IAAI,EAAE;UAClDI,OAAO,CACL,IAAAN,eAAM,EAACY,QAAQ,CAACb,IAAI,CAAC,CAACE,IAAI,CAAC,UAACC,IAAI,EAAK;YACnCU,QAAQ,CAACb,IAAI,CAACG,IAAI,GAAGA,IAAI;YAEzB,OAAOU,QAAQ;UACjB,CAAC,CAAC
|
|
1
|
+
{"version":3,"names":["_request2","_interopRequireDefault","require","_safeBuffer","_common","_detect","_progressEvent","prepareOptions","options","responseType","encoding","withCredentials","jar","isBuffer","body","detect","then","type","headers","_promise","default","resolve","doRequest","logger","r","request","error","response","warn","Buffer","from","statusCode","method","url","on","total","_parseInt2","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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"}
|
|
@@ -11,20 +11,23 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
11
11
|
});
|
|
12
12
|
exports.default = _request;
|
|
13
13
|
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
14
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/typeof"));
|
|
15
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
14
16
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
15
17
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
16
18
|
var _deleteProperty = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/delete-property"));
|
|
17
|
-
var
|
|
18
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
19
|
-
var _pick2 = _interopRequireDefault(require("lodash/pick"));
|
|
20
|
-
var _isArray2 = _interopRequireDefault(require("lodash/isArray"));
|
|
21
|
-
var _defaults2 = _interopRequireDefault(require("lodash/defaults"));
|
|
19
|
+
var _lodash = require("lodash");
|
|
22
20
|
var _qs = _interopRequireDefault(require("qs"));
|
|
21
|
+
var _buffer = require("buffer");
|
|
23
22
|
var _xhr = _interopRequireDefault(require("../lib/xhr"));
|
|
24
23
|
var _detect = _interopRequireDefault(require("../lib/detect"));
|
|
25
24
|
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; } } }; }
|
|
26
25
|
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); }
|
|
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; }
|
|
26
|
+
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; } /* eslint-disable no-underscore-dangle */ /*!
|
|
27
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
28
|
+
*/ /* eslint-env browser */ // Note: several code paths are ignored in this file. As far as I can tell, any
|
|
29
|
+
// error conditions that would provoke those paths are otherwise prevented and
|
|
30
|
+
// reported.
|
|
28
31
|
/**
|
|
29
32
|
* @name request
|
|
30
33
|
* @param {Object} options
|
|
@@ -32,7 +35,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
32
35
|
*/
|
|
33
36
|
function _request(options) {
|
|
34
37
|
return new _promise.default(function (resolve) {
|
|
35
|
-
var params = (0,
|
|
38
|
+
var params = (0, _lodash.pick)(options, 'method', 'uri', 'withCredentials', 'headers', 'timeout', 'responseType');
|
|
36
39
|
|
|
37
40
|
// Set `response` to `true` to approximate an `HttpResponse` object
|
|
38
41
|
params.response = true;
|
|
@@ -49,7 +52,7 @@ function _request(options) {
|
|
|
49
52
|
var x = (0, _xhr.default)(params, function (error, response) {
|
|
50
53
|
/* istanbul ignore next */
|
|
51
54
|
if (error) {
|
|
52
|
-
options.logger.warn(error);
|
|
55
|
+
options.logger.warn("XHR error for ".concat(options.method || 'request', " to ").concat(options.uri, " :"), error);
|
|
53
56
|
}
|
|
54
57
|
|
|
55
58
|
/* istanbul ignore else */
|
|
@@ -128,7 +131,7 @@ function _request(options) {
|
|
|
128
131
|
var user = o.auth.user || o.auth.username;
|
|
129
132
|
var pass = o.auth.pass || o.auth.password;
|
|
130
133
|
var token = btoa("".concat(user, ":").concat(pass));
|
|
131
|
-
params.headers.
|
|
134
|
+
params.headers.Authorization = "Basic ".concat(token);
|
|
132
135
|
}
|
|
133
136
|
}
|
|
134
137
|
}
|
|
@@ -159,7 +162,7 @@ function _request(options) {
|
|
|
159
162
|
withCredentials: false,
|
|
160
163
|
timeout: 0
|
|
161
164
|
};
|
|
162
|
-
(0,
|
|
165
|
+
(0, _lodash.defaults)(params, (0, _lodash.pick)(o, (0, _keys.default)(defs)), defs);
|
|
163
166
|
}
|
|
164
167
|
|
|
165
168
|
/**
|
|
@@ -194,7 +197,7 @@ function _request(options) {
|
|
|
194
197
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
195
198
|
while (1) switch (_context.prev = _context.next) {
|
|
196
199
|
case 0:
|
|
197
|
-
if (!(o.body instanceof Blob || o.body instanceof ArrayBuffer)) {
|
|
200
|
+
if (!(o.body instanceof _buffer.Blob || o.body instanceof ArrayBuffer)) {
|
|
198
201
|
_context.next = 8;
|
|
199
202
|
break;
|
|
200
203
|
}
|
|
@@ -232,9 +235,9 @@ function _request(options) {
|
|
|
232
235
|
*/
|
|
233
236
|
function ensureBlob(file) {
|
|
234
237
|
if (file instanceof ArrayBuffer) {
|
|
235
|
-
var ret = file.type ? new Blob([file], {
|
|
238
|
+
var ret = file.type ? new _buffer.Blob([file], {
|
|
236
239
|
type: file.type
|
|
237
|
-
}) : new Blob([file]);
|
|
240
|
+
}) : new _buffer.Blob([file]);
|
|
238
241
|
ret.filename = file.filename || file.name || 'untitled';
|
|
239
242
|
return ret;
|
|
240
243
|
}
|
|
@@ -249,7 +252,7 @@ function _request(options) {
|
|
|
249
252
|
* @returns {undefined}
|
|
250
253
|
*/
|
|
251
254
|
function append(form, key, value) {
|
|
252
|
-
if ((0,
|
|
255
|
+
if ((0, _lodash.isArray)(value)) {
|
|
253
256
|
var _iterator = _createForOfIteratorHelper(value),
|
|
254
257
|
_step;
|
|
255
258
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_qs","_interopRequireDefault","require","_xhr","_detect","_createForOfIteratorHelper","o","allowArrayLike","it","_Symbol","_Symbol$iterator","_Array$isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","_Array$from","test","arr","len","arr2","Array","_request","options","_promise","default","resolve","params","_pick2","response","setXhr","bindProgressEvents","setAuth","setCookies","setDefaults","setResponseType","setContentType","setPayload","setQs","logger","debug","concat","method","uri","x","xhr","error","warn","statusCode","processResponseJson","headers","url","body","onprogress","download","emit","bind","catch","includes","toUpperCase","XMLHttpRequest","upload","auth","bearer","authorization","user","username","pass","password","token","btoa","jar","withCredentials","defs","cors","timeout","_defaults2","_keys","responseType","_x","_x2","_setContentType","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","Blob","ArrayBuffer","json","t0","detect","sent","stop","qs","stringify","ensureBlob","file","ret","type","filename","append","form","key","_isArray2","_iterator","_step","v","_deleteProperty","formData","reduce","fd","FormData","_typeof2","JSON","parse"],"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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"}
|
|
1
|
+
{"version":3,"names":["_lodash","require","_qs","_interopRequireDefault","_buffer","_xhr","_detect","_createForOfIteratorHelper","o","allowArrayLike","it","_Symbol","_Symbol$iterator","_Array$isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","_Array$from","test","arr","len","arr2","Array","_request","options","_promise","default","resolve","params","pick","response","setXhr","bindProgressEvents","setAuth","setCookies","setDefaults","setResponseType","setContentType","setPayload","setQs","logger","debug","concat","method","uri","x","xhr","error","warn","statusCode","processResponseJson","headers","url","body","onprogress","download","emit","bind","catch","includes","toUpperCase","XMLHttpRequest","upload","auth","bearer","authorization","user","username","pass","password","token","btoa","Authorization","jar","withCredentials","defs","cors","timeout","defaults","_keys","responseType","_x","_x2","_setContentType","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","Blob","ArrayBuffer","json","t0","detect","sent","stop","qs","stringify","ensureBlob","file","ret","type","filename","append","form","key","isArray","_iterator","_step","v","_deleteProperty","formData","reduce","fd","FormData","_typeof2","JSON","parse"],"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 {Blob} from 'buffer';\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(\n `XHR error for ${options.method || 'request'} to ${options.uri} :`,\n error\n );\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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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.intercept = intercept;
|
|
9
|
+
exports.prepareFetchOptions = prepareFetchOptions;
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
11
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
12
|
+
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
13
|
+
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
|
|
14
|
+
var _deleteProperty = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/delete-property"));
|
|
15
|
+
var _events = require("events");
|
|
16
|
+
/* eslint-disable import/prefer-default-export */
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @param {Object} options
|
|
20
|
+
* @param {Array<Object>} interceptors
|
|
21
|
+
* @param {string} key
|
|
22
|
+
* @param {Object | undefined} res
|
|
23
|
+
* @private
|
|
24
|
+
* @returns {Promise}
|
|
25
|
+
*/
|
|
26
|
+
function intercept(options, interceptors, key) {
|
|
27
|
+
var res = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined;
|
|
28
|
+
var successKey = "on".concat(key);
|
|
29
|
+
var errorKey = "on".concat(key, "Error");
|
|
30
|
+
return interceptors.reduce(function (promise, interceptor) {
|
|
31
|
+
return promise.then(function (result) {
|
|
32
|
+
interceptor.logOptions(options);
|
|
33
|
+
if (interceptor[successKey]) {
|
|
34
|
+
return interceptor[successKey](options, result);
|
|
35
|
+
}
|
|
36
|
+
return _promise.default.resolve(result);
|
|
37
|
+
}, function (reason) {
|
|
38
|
+
interceptor.logOptions(options);
|
|
39
|
+
if (interceptor[errorKey]) {
|
|
40
|
+
return interceptor[errorKey](options, reason);
|
|
41
|
+
}
|
|
42
|
+
return _promise.default.reject(reason);
|
|
43
|
+
});
|
|
44
|
+
}, _promise.default.resolve(res));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Prepare options for a fetch.
|
|
49
|
+
* @param {object} options
|
|
50
|
+
* @returns {Promise}
|
|
51
|
+
*/
|
|
52
|
+
function prepareFetchOptions(_x) {
|
|
53
|
+
return _prepareFetchOptions.apply(this, arguments);
|
|
54
|
+
}
|
|
55
|
+
function _prepareFetchOptions() {
|
|
56
|
+
_prepareFetchOptions = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(options) {
|
|
57
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
58
|
+
while (1) switch (_context.prev = _context.next) {
|
|
59
|
+
case 0:
|
|
60
|
+
if (options.url) {
|
|
61
|
+
options.uri = options.url;
|
|
62
|
+
options.url = null;
|
|
63
|
+
}
|
|
64
|
+
options.headers = options.headers || {};
|
|
65
|
+
if (options.json) {
|
|
66
|
+
// don't override existing accept header declared by user
|
|
67
|
+
options.headers.accept = options.headers.accept || options.headers.Accept || 'application/json';
|
|
68
|
+
|
|
69
|
+
// don't override existing content-type header declared by user
|
|
70
|
+
if (options.method !== 'GET' && options.method !== 'HEAD') {
|
|
71
|
+
options.headers['content-type'] = options.headers['content-type'] || options.headers['Content-Type'] || 'application/json';
|
|
72
|
+
options.body = (0, _stringify.default)(options.json === true ? options.body : options.json);
|
|
73
|
+
}
|
|
74
|
+
} else if (options.json !== undefined) {
|
|
75
|
+
(0, _deleteProperty.default)(options, 'json');
|
|
76
|
+
}
|
|
77
|
+
options.download = new _events.EventEmitter();
|
|
78
|
+
options.upload = new _events.EventEmitter();
|
|
79
|
+
options.keepalive = true;
|
|
80
|
+
return _context.abrupt("return", intercept(options, options.interceptors, 'Request').then(function () {
|
|
81
|
+
return options;
|
|
82
|
+
}));
|
|
83
|
+
case 7:
|
|
84
|
+
case "end":
|
|
85
|
+
return _context.stop();
|
|
86
|
+
}
|
|
87
|
+
}, _callee);
|
|
88
|
+
}));
|
|
89
|
+
return _prepareFetchOptions.apply(this, arguments);
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_events","require","intercept","options","interceptors","key","res","arguments","length","undefined","successKey","concat","errorKey","reduce","promise","interceptor","then","result","logOptions","_promise","default","resolve","reason","reject","prepareFetchOptions","_x","_prepareFetchOptions","apply","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","url","uri","headers","json","accept","Accept","method","body","_stringify","_deleteProperty","download","EventEmitter","upload","keepalive","abrupt","stop"],"sources":["utils.ts"],"sourcesContent":["/* eslint-disable import/prefer-default-export */\nimport {EventEmitter} from 'events';\nimport Interceptor from '../lib/interceptor';\n\n/**\n * @param {Object} options\n * @param {Array<Object>} interceptors\n * @param {string} key\n * @param {Object | undefined} res\n * @private\n * @returns {Promise}\n */\nexport function intercept(\n options: object,\n interceptors: Array<Interceptor>,\n key: string,\n res: object = undefined\n): Promise<any> {\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/**\n * Prepare options for a fetch.\n * @param {object} options\n * @returns {Promise}\n */\nexport async function prepareFetchOptions(options: any): Promise<any> {\n if (options.url) {\n options.uri = options.url;\n options.url = null;\n }\n\n options.headers = options.headers || {};\n\n if (options.json) {\n // don't override existing accept header declared by user\n options.headers.accept = options.headers.accept || options.headers.Accept || 'application/json';\n\n // don't override existing content-type header declared by user\n if (options.method !== 'GET' && options.method !== 'HEAD') {\n options.headers['content-type'] =\n options.headers['content-type'] || options.headers['Content-Type'] || 'application/json';\n options.body = JSON.stringify(options.json === true ? options.body : options.json);\n }\n } else if (options.json !== undefined) {\n Reflect.deleteProperty(options, 'json');\n }\n\n options.download = new EventEmitter();\n options.upload = new EventEmitter();\n options.keepalive = true;\n\n return intercept(options, options.interceptors, 'Request').then(() => options);\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webex/http-core",
|
|
3
|
-
"version": "2.60.0",
|
|
4
3
|
"description": "Core HTTP library for the Cisco Webex",
|
|
5
4
|
"license": "MIT",
|
|
6
5
|
"main": "dist/index.js",
|
|
@@ -11,7 +10,7 @@
|
|
|
11
10
|
"directory": "packages/@webex/http-core"
|
|
12
11
|
},
|
|
13
12
|
"engines": {
|
|
14
|
-
"node": ">=
|
|
13
|
+
"node": ">=16"
|
|
15
14
|
},
|
|
16
15
|
"browser": {
|
|
17
16
|
"./dist/request/request.js": "./dist/request/request.shim.js",
|
|
@@ -25,25 +24,25 @@
|
|
|
25
24
|
},
|
|
26
25
|
"devDependencies": {
|
|
27
26
|
"@babel/core": "^7.17.10",
|
|
28
|
-
"@webex/babel-config-legacy": "
|
|
29
|
-
"@webex/eslint-config-legacy": "
|
|
30
|
-
"@webex/jest-config-legacy": "
|
|
31
|
-
"@webex/legacy-tools": "
|
|
32
|
-
"@webex/test-helper-chai": "2.60.
|
|
33
|
-
"@webex/test-helper-file": "2.60.
|
|
34
|
-
"@webex/test-helper-make-local-url": "2.60.
|
|
35
|
-
"@webex/test-helper-mocha": "2.60.
|
|
36
|
-
"@webex/test-helper-mock-webex": "2.60.
|
|
37
|
-
"@webex/test-helper-test-users": "2.60.
|
|
27
|
+
"@webex/babel-config-legacy": "0.0.0",
|
|
28
|
+
"@webex/eslint-config-legacy": "0.0.0",
|
|
29
|
+
"@webex/jest-config-legacy": "0.0.0",
|
|
30
|
+
"@webex/legacy-tools": "0.0.0",
|
|
31
|
+
"@webex/test-helper-chai": "2.60.1-next.2",
|
|
32
|
+
"@webex/test-helper-file": "2.60.1-next.2",
|
|
33
|
+
"@webex/test-helper-make-local-url": "2.60.1-next.2",
|
|
34
|
+
"@webex/test-helper-mocha": "2.60.1-next.2",
|
|
35
|
+
"@webex/test-helper-mock-webex": "2.60.1-next.2",
|
|
36
|
+
"@webex/test-helper-test-users": "2.60.1-next.2",
|
|
38
37
|
"eslint": "^8.24.0",
|
|
39
38
|
"prettier": "^2.7.1",
|
|
40
39
|
"sinon": "^9.2.4"
|
|
41
40
|
},
|
|
42
41
|
"dependencies": {
|
|
43
|
-
"@webex/common": "2.60.
|
|
44
|
-
"@webex/internal-plugin-device": "2.60.
|
|
45
|
-
"@webex/test-helper-test-users": "2.60.
|
|
46
|
-
"@webex/webex-core": "2.60.
|
|
42
|
+
"@webex/common": "2.60.1-next.2",
|
|
43
|
+
"@webex/internal-plugin-device": "2.60.1-next.2",
|
|
44
|
+
"@webex/test-helper-test-users": "2.60.1-next.2",
|
|
45
|
+
"@webex/webex-core": "2.60.1-next.2",
|
|
47
46
|
"file-type": "^16.0.1",
|
|
48
47
|
"global": "^4.4.0",
|
|
49
48
|
"is-function": "^1.0.1",
|
|
@@ -57,10 +56,12 @@
|
|
|
57
56
|
"scripts": {
|
|
58
57
|
"build": "yarn build:src",
|
|
59
58
|
"build:src": "webex-legacy-tools build -dest \"./dist\" -src \"./src\" -js -ts -maps",
|
|
59
|
+
"deploy:npm": "yarn npm publish",
|
|
60
60
|
"test": "yarn test:style && yarn test:unit && yarn test:integration && yarn test:browser",
|
|
61
61
|
"test:browser:broken": "webex-legacy-tools test --integration --unit --runner karma",
|
|
62
62
|
"test:integration:broken": "webex-legacy-tools test --integration --runner mocha",
|
|
63
63
|
"test:style": "eslint ./src/**/*.*",
|
|
64
64
|
"test:unit": "webex-legacy-tools test --unit --runner jest"
|
|
65
|
-
}
|
|
66
|
-
|
|
65
|
+
},
|
|
66
|
+
"version": "2.60.1-next.2"
|
|
67
|
+
}
|
package/src/index.js
CHANGED
|
@@ -6,6 +6,7 @@ import {assign, curry, defaults as lodashDefaults, isString} from 'lodash';
|
|
|
6
6
|
|
|
7
7
|
import HttpStatusInterceptor from './interceptors/http-status';
|
|
8
8
|
import _request from './request';
|
|
9
|
+
import {prepareFetchOptions as _prepareFetchOptions} from './request/utils';
|
|
9
10
|
|
|
10
11
|
// Curry protorequest so we generate a function with default options built in.
|
|
11
12
|
const protorequest = curry(function protorequest(defaultOptions, options) {
|
|
@@ -41,6 +42,60 @@ const protorequest = curry(function protorequest(defaultOptions, options) {
|
|
|
41
42
|
return _request(options);
|
|
42
43
|
});
|
|
43
44
|
|
|
45
|
+
export const protoprepareFetchOptions = curry(function protoprepareFetchOptions(
|
|
46
|
+
defaultOptions,
|
|
47
|
+
options
|
|
48
|
+
) {
|
|
49
|
+
// Hide useless elements from logs
|
|
50
|
+
['download', 'interceptors', 'logger', 'upload'].forEach((prop) => {
|
|
51
|
+
let descriptor = Reflect.getOwnPropertyDescriptor(options, prop);
|
|
52
|
+
|
|
53
|
+
descriptor = assign({}, descriptor, {
|
|
54
|
+
enumerable: false,
|
|
55
|
+
writable: true,
|
|
56
|
+
});
|
|
57
|
+
Reflect.defineProperty(options, prop, descriptor);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
lodashDefaults(options, defaultOptions);
|
|
61
|
+
|
|
62
|
+
options.logger = options.logger || this.logger || console;
|
|
63
|
+
|
|
64
|
+
return _prepareFetchOptions(options);
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Sets the $timings value(s) before the request/fetch.
|
|
69
|
+
* This function is only useful if you are about to send a request
|
|
70
|
+
* using prepared fetch options; normally it is done in webex.request();
|
|
71
|
+
*
|
|
72
|
+
* @param {any} options
|
|
73
|
+
* @returns {any} the updated options object
|
|
74
|
+
*/
|
|
75
|
+
const setRequestTimings = (options) => {
|
|
76
|
+
const now = new Date().getTime();
|
|
77
|
+
options.$timings = options.$timings || {};
|
|
78
|
+
options.$timings.requestStart = now;
|
|
79
|
+
options.$timings.networkStart = now;
|
|
80
|
+
|
|
81
|
+
return options;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Submits a metric from pre-built request options via the fetch API. Updates
|
|
86
|
+
* the "$timings" values to Date.now() since the existing times were set when
|
|
87
|
+
* the options were built (not submitted).
|
|
88
|
+
*
|
|
89
|
+
* @param {any} options - the pre-built request options for submitting a metric
|
|
90
|
+
* @returns {Promise} promise that resolves to a response object
|
|
91
|
+
*/
|
|
92
|
+
export const setTimingsAndFetch = (options) => {
|
|
93
|
+
const opts = setRequestTimings(options);
|
|
94
|
+
|
|
95
|
+
// call the fetch API
|
|
96
|
+
return fetch(opts.uri, opts);
|
|
97
|
+
};
|
|
98
|
+
|
|
44
99
|
const defaultOptions = {
|
|
45
100
|
json: true,
|
|
46
101
|
interceptors: [
|
package/src/lib/xhr.js
CHANGED
|
@@ -106,7 +106,11 @@ function _createXHR(options) {
|
|
|
106
106
|
function errorFunc(evt) {
|
|
107
107
|
clearTimeout(timeoutTimer);
|
|
108
108
|
if (!(evt instanceof Error)) {
|
|
109
|
-
|
|
109
|
+
if (evt instanceof ProgressEvent) {
|
|
110
|
+
evt = new Error(`XMLHttpRequest Error: ProgressEvent: loaded=${evt.loaded}, total=${evt.total}, lengthComputable=${evt.lengthComputable}, target.readyState=${evt.target?.readyState}`)
|
|
111
|
+
} else {
|
|
112
|
+
evt = new Error('' + (evt || 'Unknown XMLHttpRequest Error'));
|
|
113
|
+
}
|
|
110
114
|
}
|
|
111
115
|
evt.statusCode = 0;
|
|
112
116
|
return callback(evt, failureResponse);
|
package/src/request/index.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import {EventEmitter} from 'events';
|
|
6
6
|
|
|
7
7
|
import _request from './request';
|
|
8
|
+
import {intercept} from './utils';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* @param {Object} options
|
|
@@ -21,42 +22,9 @@ export default function request(options) {
|
|
|
21
22
|
options.download = new EventEmitter();
|
|
22
23
|
options.upload = new EventEmitter();
|
|
23
24
|
|
|
24
|
-
return intercept(options.interceptors, 'Request')
|
|
25
|
+
return intercept(options, options.interceptors, 'Request')
|
|
25
26
|
.then((...args) => _request(options, ...args))
|
|
26
|
-
.then((...args) =>
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* @param {Array} interceptors
|
|
30
|
-
* @param {string} key
|
|
31
|
-
* @param {Object} res
|
|
32
|
-
* @private
|
|
33
|
-
* @returns {Promise}
|
|
34
|
-
*/
|
|
35
|
-
function intercept(interceptors, key, res) {
|
|
36
|
-
const successKey = `on${key}`;
|
|
37
|
-
const errorKey = `on${key}Error`;
|
|
38
|
-
|
|
39
|
-
return interceptors.reduce(
|
|
40
|
-
(promise, interceptor) =>
|
|
41
|
-
promise.then(
|
|
42
|
-
(result) => {
|
|
43
|
-
interceptor.logOptions(options);
|
|
44
|
-
if (interceptor[successKey]) {
|
|
45
|
-
return interceptor[successKey](options, result);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return Promise.resolve(result);
|
|
49
|
-
},
|
|
50
|
-
(reason) => {
|
|
51
|
-
interceptor.logOptions(options);
|
|
52
|
-
if (interceptor[errorKey]) {
|
|
53
|
-
return interceptor[errorKey](options, reason);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
return Promise.reject(reason);
|
|
57
|
-
}
|
|
58
|
-
),
|
|
59
|
-
Promise.resolve(res)
|
|
27
|
+
.then((...args) =>
|
|
28
|
+
intercept(options, options.interceptors.slice().reverse(), 'Response', ...args)
|
|
60
29
|
);
|
|
61
|
-
}
|
|
62
30
|
}
|