@webex/internal-plugin-mercury 3.0.0-bnr.5 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +6 -0
- package/babel.config.js +3 -0
- package/dist/config.js +1 -2
- package/dist/config.js.map +1 -1
- package/dist/errors.js +8 -11
- package/dist/errors.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mercury.js +56 -62
- package/dist/mercury.js.map +1 -1
- package/dist/socket/index.js.map +1 -1
- package/dist/socket/socket-base.js +57 -42
- package/dist/socket/socket-base.js.map +1 -1
- package/dist/socket/socket.js +1 -2
- package/dist/socket/socket.js.map +1 -1
- package/dist/socket/socket.shim.js +1 -2
- package/dist/socket/socket.shim.js.map +1 -1
- package/jest.config.js +3 -0
- package/package.json +35 -16
- package/process +1 -0
- package/src/mercury.js +43 -51
- package/src/socket/socket-base.js +61 -28
- package/test/integration/spec/webex.js +3 -2
- package/test/unit/spec/mercury-events.js +1 -1
- package/test/unit/spec/mercury.js +111 -7
- package/test/unit/spec/socket.js +24 -9
- package/dist/types/config.d.ts +0 -10
- package/dist/types/errors.d.ts +0 -31
- package/dist/types/index.d.ts +0 -4
- package/dist/types/mercury.d.ts +0 -2
- package/dist/types/socket/index.d.ts +0 -1
- package/dist/types/socket/socket-base.d.ts +0 -120
- package/dist/types/socket/socket.d.ts +0 -2
- package/dist/types/socket/socket.shim.d.ts +0 -2
- package/test/unit/spec/_setup.js +0 -5
package/.eslintrc.js
ADDED
package/babel.config.js
ADDED
package/dist/config.js
CHANGED
|
@@ -8,7 +8,7 @@ exports.default = void 0;
|
|
|
8
8
|
/*!
|
|
9
9
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
10
10
|
*/
|
|
11
|
-
var _default = {
|
|
11
|
+
var _default = exports.default = {
|
|
12
12
|
mercury: {
|
|
13
13
|
/**
|
|
14
14
|
* Milliseconds between pings sent up the socket
|
|
@@ -38,5 +38,4 @@ var _default = {
|
|
|
38
38
|
forceCloseDelay: process.env.MERCURY_FORCE_CLOSE_DELAY || 2000
|
|
39
39
|
}
|
|
40
40
|
};
|
|
41
|
-
exports.default = _default;
|
|
42
41
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mercury","pingInterval","process","env","MERCURY_PING_INTERVAL","pongTimeout","MERCURY_PONG_TIMEOUT","backoffTimeMax","MERCURY_BACKOFF_TIME_MAX","backoffTimeReset","MERCURY_BACKOFF_TIME_RESET","forceCloseDelay","MERCURY_FORCE_CLOSE_DELAY"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n mercury: {\n /**\n * Milliseconds between pings sent up the socket\n * @type {number}\n */\n pingInterval: process.env.MERCURY_PING_INTERVAL || 15000,\n /**\n * Milliseconds to wait for a pong before declaring the connection dead\n * @type {number}\n */\n pongTimeout: process.env.MERCURY_PONG_TIMEOUT || 14000,\n /**\n * Maximum milliseconds between connection attempts\n * @type {Number}\n */\n backoffTimeMax: process.env.MERCURY_BACKOFF_TIME_MAX || 32000,\n /**\n * Initial milliseconds between connection attempts\n * @type {Number}\n */\n backoffTimeReset: process.env.MERCURY_BACKOFF_TIME_RESET || 1000,\n /**\n * Milliseconds to wait for a close frame before declaring the socket dead and\n * discarding it\n * @type {[type]}\n */\n forceCloseDelay: process.env.MERCURY_FORCE_CLOSE_DELAY || 2000,\n },\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,
|
|
1
|
+
{"version":3,"names":["_default","exports","default","mercury","pingInterval","process","env","MERCURY_PING_INTERVAL","pongTimeout","MERCURY_PONG_TIMEOUT","backoffTimeMax","MERCURY_BACKOFF_TIME_MAX","backoffTimeReset","MERCURY_BACKOFF_TIME_RESET","forceCloseDelay","MERCURY_FORCE_CLOSE_DELAY"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n mercury: {\n /**\n * Milliseconds between pings sent up the socket\n * @type {number}\n */\n pingInterval: process.env.MERCURY_PING_INTERVAL || 15000,\n /**\n * Milliseconds to wait for a pong before declaring the connection dead\n * @type {number}\n */\n pongTimeout: process.env.MERCURY_PONG_TIMEOUT || 14000,\n /**\n * Maximum milliseconds between connection attempts\n * @type {Number}\n */\n backoffTimeMax: process.env.MERCURY_BACKOFF_TIME_MAX || 32000,\n /**\n * Initial milliseconds between connection attempts\n * @type {Number}\n */\n backoffTimeReset: process.env.MERCURY_BACKOFF_TIME_RESET || 1000,\n /**\n * Milliseconds to wait for a close frame before declaring the socket dead and\n * discarding it\n * @type {[type]}\n */\n forceCloseDelay: process.env.MERCURY_FORCE_CLOSE_DELAY || 2000,\n },\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,IAAAA,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAIe;EACbC,OAAO,EAAE;IACP;AACJ;AACA;AACA;IACIC,YAAY,EAAEC,OAAO,CAACC,GAAG,CAACC,qBAAqB,IAAI,KAAK;IACxD;AACJ;AACA;AACA;IACIC,WAAW,EAAEH,OAAO,CAACC,GAAG,CAACG,oBAAoB,IAAI,KAAK;IACtD;AACJ;AACA;AACA;IACIC,cAAc,EAAEL,OAAO,CAACC,GAAG,CAACK,wBAAwB,IAAI,KAAK;IAC7D;AACJ;AACA;AACA;IACIC,gBAAgB,EAAEP,OAAO,CAACC,GAAG,CAACO,0BAA0B,IAAI,IAAI;IAChE;AACJ;AACA;AACA;AACA;IACIC,eAAe,EAAET,OAAO,CAACC,GAAG,CAACS,yBAAyB,IAAI;EAC5D;AACF,CAAC"}
|
package/dist/errors.js
CHANGED
|
@@ -16,11 +16,13 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/he
|
|
|
16
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
17
17
|
var _common = require("@webex/common");
|
|
18
18
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
19
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
19
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /*!
|
|
20
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
21
|
+
*/
|
|
20
22
|
/**
|
|
21
23
|
* Exception thrown when a websocket gets closed
|
|
22
24
|
*/
|
|
23
|
-
var ConnectionError = /*#__PURE__*/function (_Exception) {
|
|
25
|
+
var ConnectionError = exports.ConnectionError = /*#__PURE__*/function (_Exception) {
|
|
24
26
|
(0, _inherits2.default)(ConnectionError, _Exception);
|
|
25
27
|
var _super = _createSuper(ConnectionError);
|
|
26
28
|
function ConnectionError() {
|
|
@@ -52,9 +54,8 @@ var ConnectionError = /*#__PURE__*/function (_Exception) {
|
|
|
52
54
|
/**
|
|
53
55
|
* thrown for CloseCode 4400
|
|
54
56
|
*/
|
|
55
|
-
exports.ConnectionError = ConnectionError;
|
|
56
57
|
(0, _defineProperty2.default)(ConnectionError, "defaultMessage", 'Failed to connect to socket');
|
|
57
|
-
var UnknownResponse = /*#__PURE__*/function (_ConnectionError) {
|
|
58
|
+
var UnknownResponse = exports.UnknownResponse = /*#__PURE__*/function (_ConnectionError) {
|
|
58
59
|
(0, _inherits2.default)(UnknownResponse, _ConnectionError);
|
|
59
60
|
var _super2 = _createSuper(UnknownResponse);
|
|
60
61
|
function UnknownResponse() {
|
|
@@ -66,9 +67,8 @@ var UnknownResponse = /*#__PURE__*/function (_ConnectionError) {
|
|
|
66
67
|
/**
|
|
67
68
|
* thrown for CloseCode 4400
|
|
68
69
|
*/
|
|
69
|
-
exports.UnknownResponse = UnknownResponse;
|
|
70
70
|
(0, _defineProperty2.default)(UnknownResponse, "defaultMessage", 'UnknownResponse is produced by IE when we receive a 4XXX. You probably want to treat this like a NotFound');
|
|
71
|
-
var BadRequest = /*#__PURE__*/function (_ConnectionError2) {
|
|
71
|
+
var BadRequest = exports.BadRequest = /*#__PURE__*/function (_ConnectionError2) {
|
|
72
72
|
(0, _inherits2.default)(BadRequest, _ConnectionError2);
|
|
73
73
|
var _super3 = _createSuper(BadRequest);
|
|
74
74
|
function BadRequest() {
|
|
@@ -80,9 +80,8 @@ var BadRequest = /*#__PURE__*/function (_ConnectionError2) {
|
|
|
80
80
|
/**
|
|
81
81
|
* thrown for CloseCode 4401
|
|
82
82
|
*/
|
|
83
|
-
exports.BadRequest = BadRequest;
|
|
84
83
|
(0, _defineProperty2.default)(BadRequest, "defaultMessage", 'BadRequest usually implies an attempt to use service account credentials');
|
|
85
|
-
var NotAuthorized = /*#__PURE__*/function (_ConnectionError3) {
|
|
84
|
+
var NotAuthorized = exports.NotAuthorized = /*#__PURE__*/function (_ConnectionError3) {
|
|
86
85
|
(0, _inherits2.default)(NotAuthorized, _ConnectionError3);
|
|
87
86
|
var _super4 = _createSuper(NotAuthorized);
|
|
88
87
|
function NotAuthorized() {
|
|
@@ -94,9 +93,8 @@ var NotAuthorized = /*#__PURE__*/function (_ConnectionError3) {
|
|
|
94
93
|
/**
|
|
95
94
|
* thrown for CloseCode 4403
|
|
96
95
|
*/
|
|
97
|
-
exports.NotAuthorized = NotAuthorized;
|
|
98
96
|
(0, _defineProperty2.default)(NotAuthorized, "defaultMessage", 'Please refresh your access token');
|
|
99
|
-
var Forbidden = /*#__PURE__*/function (_ConnectionError4) {
|
|
97
|
+
var Forbidden = exports.Forbidden = /*#__PURE__*/function (_ConnectionError4) {
|
|
100
98
|
(0, _inherits2.default)(Forbidden, _ConnectionError4);
|
|
101
99
|
var _super5 = _createSuper(Forbidden);
|
|
102
100
|
function Forbidden() {
|
|
@@ -110,6 +108,5 @@ var Forbidden = /*#__PURE__*/function (_ConnectionError4) {
|
|
|
110
108
|
// export class NotFound extends ConnectionError {
|
|
111
109
|
// static defaultMessage = `Please refresh your Mercury registration (typically via a WDM refresh)`;
|
|
112
110
|
// }
|
|
113
|
-
exports.Forbidden = Forbidden;
|
|
114
111
|
(0, _defineProperty2.default)(Forbidden, "defaultMessage", 'Forbidden usually implies these credentials are not entitled for Webex');
|
|
115
112
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ConnectionError","
|
|
1
|
+
{"version":3,"names":["_common","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","ConnectionError","exports","_Exception","_inherits2","_super","_classCallCheck2","_createClass2","key","value","parse","event","length","undefined","_defineProperties","code","reason","Exception","_defineProperty2","UnknownResponse","_ConnectionError","_super2","BadRequest","_ConnectionError2","_super3","NotAuthorized","_ConnectionError3","_super4","Forbidden","_ConnectionError4","_super5"],"sources":["errors.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Exception} from '@webex/common';\n\n/**\n * Exception thrown when a websocket gets closed\n */\nexport class ConnectionError extends Exception {\n static defaultMessage = 'Failed to connect to socket';\n\n /**\n * @param {CloseEvent} event\n * @returns {string}\n */\n parse(event = {}) {\n Object.defineProperties(this, {\n code: {\n value: event.code,\n },\n reason: {\n value: event.reason,\n },\n });\n\n return event.reason;\n }\n}\n\n/**\n * thrown for CloseCode 4400\n */\nexport class UnknownResponse extends ConnectionError {\n static defaultMessage =\n 'UnknownResponse is produced by IE when we receive a 4XXX. You probably want to treat this like a NotFound';\n}\n\n/**\n * thrown for CloseCode 4400\n */\nexport class BadRequest extends ConnectionError {\n static defaultMessage =\n 'BadRequest usually implies an attempt to use service account credentials';\n}\n\n/**\n * thrown for CloseCode 4401\n */\nexport class NotAuthorized extends ConnectionError {\n static defaultMessage = 'Please refresh your access token';\n}\n\n/**\n * thrown for CloseCode 4403\n */\nexport class Forbidden extends ConnectionError {\n static defaultMessage = 'Forbidden usually implies these credentials are not entitled for Webex';\n}\n\n// /**\n// * thrown for CloseCode 4404\n// */\n// export class NotFound extends ConnectionError {\n// static defaultMessage = `Please refresh your Mercury registration (typically via a WDM refresh)`;\n// }\n"],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["registerInternalPlugin","Mercury","config","onBeforeLogout","disconnect"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-device';\nimport '@webex/internal-plugin-feature';\nimport '@webex/internal-plugin-metrics';\n\nimport {registerInternalPlugin} from '@webex/webex-core';\n\nimport Mercury from './mercury';\nimport config from './config';\n\nregisterInternalPlugin('mercury', Mercury, {\n config,\n onBeforeLogout() {\n return this.disconnect();\n },\n});\n\nexport {default} from './mercury';\nexport {default as Mercury} from './mercury';\nexport {default as Socket} from './socket';\nexport {default as config} from './config';\nexport {\n BadRequest,\n ConnectionError,\n Forbidden,\n NotAuthorized,\n UnknownResponse,\n // NotFound\n} from './errors';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"names":["require","_webexCore","_mercury","_interopRequireDefault","_config","_socket","_errors","registerInternalPlugin","Mercury","config","onBeforeLogout","disconnect"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-device';\nimport '@webex/internal-plugin-feature';\nimport '@webex/internal-plugin-metrics';\n\nimport {registerInternalPlugin} from '@webex/webex-core';\n\nimport Mercury from './mercury';\nimport config from './config';\n\nregisterInternalPlugin('mercury', Mercury, {\n config,\n onBeforeLogout() {\n return this.disconnect();\n },\n});\n\nexport {default} from './mercury';\nexport {default as Mercury} from './mercury';\nexport {default as Socket} from './socket';\nexport {default as config} from './config';\nexport {\n BadRequest,\n ConnectionError,\n Forbidden,\n NotAuthorized,\n UnknownResponse,\n // NotFound\n} from './errors';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAD,sBAAA,CAAAH,OAAA;AAWA,IAAAK,OAAA,GAAAF,sBAAA,CAAAH,OAAA;AAEA,IAAAM,OAAA,GAAAN,OAAA;AAxBA;AACA;AACA;;AAWA,IAAAO,iCAAsB,EAAC,SAAS,EAAEC,gBAAO,EAAE;EACzCC,MAAM,EAANA,eAAM;EACNC,cAAc,WAAAA,eAAA,EAAG;IACf,OAAO,IAAI,CAACC,UAAU,CAAC,CAAC;EAC1B;AACF,CAAC,CAAC"}
|
package/dist/mercury.js
CHANGED
|
@@ -20,18 +20,19 @@ var _getOwnPropertyDescriptor = _interopRequireDefault(require("@babel/runtime-c
|
|
|
20
20
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
21
21
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
|
|
22
22
|
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/applyDecoratedDescriptor"));
|
|
23
|
-
var _set2 = _interopRequireDefault(require("lodash/set"));
|
|
24
|
-
var _get2 = _interopRequireDefault(require("lodash/get"));
|
|
25
|
-
var _camelCase2 = _interopRequireDefault(require("lodash/camelCase"));
|
|
26
23
|
var _url = _interopRequireDefault(require("url"));
|
|
27
24
|
var _webexCore = require("@webex/webex-core");
|
|
28
25
|
var _common = require("@webex/common");
|
|
26
|
+
var _lodash = require("lodash");
|
|
29
27
|
var _backoff = _interopRequireDefault(require("backoff"));
|
|
30
28
|
var _socket = _interopRequireDefault(require("./socket"));
|
|
31
29
|
var _errors = require("./errors");
|
|
32
30
|
var _dec, _dec2, _obj;
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
/*!
|
|
32
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
33
|
+
*/
|
|
34
|
+
function ownKeys(e, r) { var t = _Object$keys2(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor2(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
35
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor2(t, r)); }); } return e; }
|
|
35
36
|
var normalReconnectReasons = ['idle', 'done (forced)', 'pong not received', 'pong mismatch'];
|
|
36
37
|
var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mercury#listen(): Use Mercury#connect() instead'), _dec2 = (0, _common.deprecated)('Mercury#stopListening(): Use Mercury#disconnect() instead'), (_obj = {
|
|
37
38
|
namespace: 'Mercury',
|
|
@@ -58,12 +59,12 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
|
|
|
58
59
|
connect: function connect(webSocketUrl) {
|
|
59
60
|
var _this = this;
|
|
60
61
|
if (this.connected) {
|
|
61
|
-
this.logger.info(
|
|
62
|
+
this.logger.info("".concat(this.namespace, ": already connected, will not connect again"));
|
|
62
63
|
return _promise.default.resolve();
|
|
63
64
|
}
|
|
64
65
|
this.connecting = true;
|
|
65
66
|
return _promise.default.resolve(this.webex.internal.device.registered || this.webex.internal.device.register()).then(function () {
|
|
66
|
-
_this.logger.info(
|
|
67
|
+
_this.logger.info("".concat(_this.namespace, ": connecting"));
|
|
67
68
|
return _this._connectWithBackoff(webSocketUrl);
|
|
68
69
|
});
|
|
69
70
|
},
|
|
@@ -71,14 +72,13 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
|
|
|
71
72
|
var _this2 = this;
|
|
72
73
|
return new _promise.default(function (resolve) {
|
|
73
74
|
if (_this2.backoffCall) {
|
|
74
|
-
_this2.logger.info(
|
|
75
|
+
_this2.logger.info("".concat(_this2.namespace, ": aborting connection"));
|
|
75
76
|
_this2.backoffCall.abort();
|
|
76
77
|
}
|
|
77
78
|
if (_this2.socket) {
|
|
78
79
|
_this2.socket.removeAllListeners('message');
|
|
79
80
|
_this2.once('offline', resolve);
|
|
80
|
-
_this2.socket.close();
|
|
81
|
-
return;
|
|
81
|
+
resolve(_this2.socket.close());
|
|
82
82
|
}
|
|
83
83
|
resolve();
|
|
84
84
|
});
|
|
@@ -100,7 +100,7 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
|
|
|
100
100
|
}
|
|
101
101
|
var headerKeys = (0, _keys.default)(event.headers);
|
|
102
102
|
headerKeys.forEach(function (keyPath) {
|
|
103
|
-
(0,
|
|
103
|
+
(0, _lodash.set)(event, keyPath, event.headers[keyPath]);
|
|
104
104
|
});
|
|
105
105
|
},
|
|
106
106
|
_prepareUrl: function _prepareUrl(webSocketUrl) {
|
|
@@ -131,7 +131,7 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
|
|
|
131
131
|
});
|
|
132
132
|
(0, _deleteProperty.default)(webSocketUrl.query, 'bufferStates');
|
|
133
133
|
}
|
|
134
|
-
if ((0,
|
|
134
|
+
if ((0, _lodash.get)(_this3, 'webex.config.device.ephemeral', false)) {
|
|
135
135
|
webSocketUrl.query.multipleConnections = true;
|
|
136
136
|
}
|
|
137
137
|
return _url.default.format(webSocketUrl);
|
|
@@ -153,12 +153,18 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
|
|
|
153
153
|
}
|
|
154
154
|
return _this4._emit.apply(_this4, ['sequence-mismatch'].concat(args));
|
|
155
155
|
});
|
|
156
|
+
socket.on('ping-pong-latency', function () {
|
|
157
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
158
|
+
args[_key2] = arguments[_key2];
|
|
159
|
+
}
|
|
160
|
+
return _this4._emit.apply(_this4, ['ping-pong-latency'].concat(args));
|
|
161
|
+
});
|
|
156
162
|
_promise.default.all([this._prepareUrl(socketUrl), this.webex.credentials.getUserToken()]).then(function (_ref) {
|
|
157
163
|
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
158
164
|
webSocketUrl = _ref2[0],
|
|
159
165
|
token = _ref2[1];
|
|
160
166
|
if (!_this4.backoffCall) {
|
|
161
|
-
var msg =
|
|
167
|
+
var msg = "".concat(_this4.namespace, ": prevent socket open when backoffCall no longer defined");
|
|
162
168
|
_this4.logger.info(msg);
|
|
163
169
|
return _promise.default.reject(new Error(msg));
|
|
164
170
|
}
|
|
@@ -174,24 +180,17 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
|
|
|
174
180
|
|
|
175
181
|
// if the consumer has supplied request options use them
|
|
176
182
|
if (_this4.webex.config.defaultMercuryOptions) {
|
|
177
|
-
_this4.logger.info(
|
|
183
|
+
_this4.logger.info("".concat(_this4.namespace, ": setting custom options"));
|
|
178
184
|
options = _objectSpread(_objectSpread({}, options), _this4.webex.config.defaultMercuryOptions);
|
|
179
185
|
}
|
|
180
186
|
|
|
181
187
|
// Set the socket before opening it. This allows a disconnect() to close
|
|
182
188
|
// the socket if it is in the process of being opened.
|
|
183
189
|
_this4.socket = socket;
|
|
190
|
+
_this4.logger.info("".concat(_this4.namespace, " connection url: ").concat(webSocketUrl));
|
|
184
191
|
return socket.open(webSocketUrl, options);
|
|
185
192
|
}).then(function () {
|
|
186
|
-
_this4.
|
|
187
|
-
fields: {
|
|
188
|
-
success: true
|
|
189
|
-
},
|
|
190
|
-
tags: {
|
|
191
|
-
action: 'connected',
|
|
192
|
-
url: attemptWSUrl
|
|
193
|
-
}
|
|
194
|
-
});
|
|
193
|
+
_this4.logger.info("".concat(_this4.namespace, ": connected to mercury, success, action: connected, url: ").concat(attemptWSUrl));
|
|
195
194
|
callback();
|
|
196
195
|
return _this4.webex.internal.feature.getFeature('developer', 'web-high-availability').then(function (haMessagingEnabled) {
|
|
197
196
|
if (haMessagingEnabled) {
|
|
@@ -209,18 +208,18 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
|
|
|
209
208
|
retries: _this4.backoffCall.getNumRetries()
|
|
210
209
|
});
|
|
211
210
|
}
|
|
212
|
-
_this4.logger.info(
|
|
211
|
+
_this4.logger.info("".concat(_this4.namespace, ": connection attempt failed"), reason);
|
|
213
212
|
// UnknownResponse is produced by IE for any 4XXX; treated it like a bad
|
|
214
213
|
// web socket url and let WDM handle the token checking
|
|
215
214
|
if (reason instanceof _errors.UnknownResponse) {
|
|
216
|
-
_this4.logger.info(
|
|
215
|
+
_this4.logger.info("".concat(_this4.namespace, ": received unknown response code, refreshing device registration"));
|
|
217
216
|
return _this4.webex.internal.device.refresh().then(function () {
|
|
218
217
|
return callback(reason);
|
|
219
218
|
});
|
|
220
219
|
}
|
|
221
220
|
// NotAuthorized implies expired token
|
|
222
221
|
if (reason instanceof _errors.NotAuthorized) {
|
|
223
|
-
_this4.logger.info(
|
|
222
|
+
_this4.logger.info("".concat(_this4.namespace, ": received authorization error, reauthorizing"));
|
|
224
223
|
return _this4.webex.credentials.refresh({
|
|
225
224
|
force: true
|
|
226
225
|
}).then(function () {
|
|
@@ -236,24 +235,14 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
|
|
|
236
235
|
// BadRequest implies current credentials are for a Service Account
|
|
237
236
|
// Forbidden implies current user is not entitle for Webex
|
|
238
237
|
if (reason instanceof _errors.BadRequest || reason instanceof _errors.Forbidden) {
|
|
239
|
-
_this4.logger.warn(
|
|
238
|
+
_this4.logger.warn("".concat(_this4.namespace, ": received unrecoverable response from mercury"));
|
|
240
239
|
_this4.backoffCall.abort();
|
|
241
240
|
return callback(reason);
|
|
242
241
|
}
|
|
243
242
|
if (reason instanceof _errors.ConnectionError) {
|
|
244
243
|
return _this4.webex.internal.feature.getFeature('developer', 'web-high-availability').then(function (haMessagingEnabled) {
|
|
245
244
|
if (haMessagingEnabled) {
|
|
246
|
-
_this4.logger.info(
|
|
247
|
-
_this4.webex.internal.metrics.submitClientMetrics('web-ha-mercury', {
|
|
248
|
-
fields: {
|
|
249
|
-
success: false
|
|
250
|
-
},
|
|
251
|
-
tags: {
|
|
252
|
-
action: 'failed',
|
|
253
|
-
error: reason.message,
|
|
254
|
-
url: attemptWSUrl
|
|
255
|
-
}
|
|
256
|
-
});
|
|
245
|
+
_this4.logger.info("".concat(_this4.namespace, ": received a generic connection error, will try to connect to another datacenter. failed, action: 'failed', url: ").concat(attemptWSUrl, " error: ").concat(reason.message));
|
|
257
246
|
return _this4.webex.internal.services.markFailedUrl(attemptWSUrl);
|
|
258
247
|
}
|
|
259
248
|
return null;
|
|
@@ -263,7 +252,7 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
|
|
|
263
252
|
}
|
|
264
253
|
return callback(reason);
|
|
265
254
|
}).catch(function (reason) {
|
|
266
|
-
_this4.logger.error(
|
|
255
|
+
_this4.logger.error("".concat(_this4.namespace, ": failed to handle connection failure"), reason);
|
|
267
256
|
callback(reason);
|
|
268
257
|
});
|
|
269
258
|
},
|
|
@@ -277,7 +266,7 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
|
|
|
277
266
|
_this5.connecting = false;
|
|
278
267
|
_this5.backoffCall = undefined;
|
|
279
268
|
if (err) {
|
|
280
|
-
_this5.logger.info("
|
|
269
|
+
_this5.logger.info("".concat(_this5.namespace, ": failed to connect after ").concat(call.getNumRetries(), " retries; log statement about next retry was inaccurate; ").concat(err));
|
|
281
270
|
return reject(err);
|
|
282
271
|
}
|
|
283
272
|
_this5.connected = true;
|
|
@@ -287,7 +276,7 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
|
|
|
287
276
|
|
|
288
277
|
// eslint-disable-next-line prefer-reflect
|
|
289
278
|
call = _backoff.default.call(function (callback) {
|
|
290
|
-
_this5.logger.info("
|
|
279
|
+
_this5.logger.info("".concat(_this5.namespace, ": executing connection attempt ").concat(call.getNumRetries()));
|
|
291
280
|
_this5._attemptConnection(webSocketUrl, callback);
|
|
292
281
|
}, onComplete);
|
|
293
282
|
call.setStrategy(new _backoff.default.ExponentialStrategy({
|
|
@@ -298,31 +287,37 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
|
|
|
298
287
|
call.failAfter(_this5.config.maxRetries);
|
|
299
288
|
}
|
|
300
289
|
call.on('abort', function () {
|
|
301
|
-
_this5.logger.info(
|
|
290
|
+
_this5.logger.info("".concat(_this5.namespace, ": connection aborted"));
|
|
302
291
|
reject(new Error('Mercury Connection Aborted'));
|
|
303
292
|
});
|
|
304
293
|
call.on('callback', function (err) {
|
|
305
294
|
if (err) {
|
|
306
295
|
var number = call.getNumRetries();
|
|
307
296
|
var delay = Math.min(call.strategy_.nextBackoffDelay_, _this5.config.backoffTimeMax);
|
|
308
|
-
_this5.logger.info("
|
|
297
|
+
_this5.logger.info("".concat(_this5.namespace, ": failed to connect; attempting retry ").concat(number + 1, " in ").concat(delay, " ms"));
|
|
309
298
|
/* istanbul ignore if */
|
|
310
299
|
if (process.env.NODE_ENV === 'development') {
|
|
311
|
-
_this5.logger.debug(
|
|
300
|
+
_this5.logger.debug("".concat(_this5.namespace, ": "), err, err.stack);
|
|
312
301
|
}
|
|
313
302
|
return;
|
|
314
303
|
}
|
|
315
|
-
_this5.logger.info(
|
|
304
|
+
_this5.logger.info("".concat(_this5.namespace, ": connected"));
|
|
316
305
|
});
|
|
317
306
|
call.start();
|
|
318
307
|
_this5.backoffCall = call;
|
|
319
308
|
});
|
|
320
309
|
},
|
|
321
310
|
_emit: function _emit() {
|
|
311
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
312
|
+
args[_key3] = arguments[_key3];
|
|
313
|
+
}
|
|
322
314
|
try {
|
|
323
|
-
this.trigger.apply(this,
|
|
315
|
+
this.trigger.apply(this, args);
|
|
324
316
|
} catch (error) {
|
|
325
|
-
this.logger.error(
|
|
317
|
+
this.logger.error("".concat(this.namespace, ": error occurred in event handler"), {
|
|
318
|
+
error: error,
|
|
319
|
+
arguments: args
|
|
320
|
+
});
|
|
326
321
|
}
|
|
327
322
|
},
|
|
328
323
|
_getEventHandlers: function _getEventHandlers(eventType) {
|
|
@@ -334,7 +329,7 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
|
|
|
334
329
|
if (!this.webex[namespace] && !this.webex.internal[namespace]) {
|
|
335
330
|
return handlers;
|
|
336
331
|
}
|
|
337
|
-
var handlerName = (0,
|
|
332
|
+
var handlerName = (0, _lodash.camelCase)("process_".concat(name, "_event"));
|
|
338
333
|
if ((this.webex[namespace] || this.webex.internal[namespace])[handlerName]) {
|
|
339
334
|
handlers.push({
|
|
340
335
|
name: handlerName,
|
|
@@ -357,19 +352,19 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
|
|
|
357
352
|
switch (event.code) {
|
|
358
353
|
case 1003:
|
|
359
354
|
// metric: disconnect
|
|
360
|
-
this.logger.info("
|
|
355
|
+
this.logger.info("".concat(this.namespace, ": Mercury service rejected last message; will not reconnect: ").concat(event.reason));
|
|
361
356
|
this._emit('offline.permanent', event);
|
|
362
357
|
break;
|
|
363
358
|
case 4000:
|
|
364
359
|
// metric: disconnect
|
|
365
|
-
this.logger.info(
|
|
360
|
+
this.logger.info("".concat(this.namespace, ": socket replaced; will not reconnect"));
|
|
366
361
|
this._emit('offline.replaced', event);
|
|
367
362
|
break;
|
|
368
363
|
case 1001:
|
|
369
364
|
case 1005:
|
|
370
365
|
case 1006:
|
|
371
366
|
case 1011:
|
|
372
|
-
this.logger.info(
|
|
367
|
+
this.logger.info("".concat(this.namespace, ": socket disconnected; reconnecting"));
|
|
373
368
|
this._emit('offline.transient', event);
|
|
374
369
|
this._reconnect(socketUrl);
|
|
375
370
|
// metric: disconnect
|
|
@@ -377,30 +372,30 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
|
|
|
377
372
|
break;
|
|
378
373
|
case 1000:
|
|
379
374
|
if (normalReconnectReasons.includes(reason)) {
|
|
380
|
-
this.logger.info(
|
|
375
|
+
this.logger.info("".concat(this.namespace, ": socket disconnected; reconnecting"));
|
|
381
376
|
this._emit('offline.transient', event);
|
|
382
377
|
this._reconnect(socketUrl);
|
|
383
378
|
// metric: disconnect
|
|
384
379
|
// if (reason === done forced) metric: force closure
|
|
385
380
|
} else {
|
|
386
|
-
this.logger.info(
|
|
381
|
+
this.logger.info("".concat(this.namespace, ": socket disconnected; will not reconnect"));
|
|
387
382
|
this._emit('offline.permanent', event);
|
|
388
383
|
}
|
|
389
384
|
break;
|
|
390
385
|
default:
|
|
391
|
-
this.logger.info(
|
|
386
|
+
this.logger.info("".concat(this.namespace, ": socket disconnected unexpectedly; will not reconnect"));
|
|
392
387
|
// unexpected disconnect
|
|
393
388
|
this._emit('offline.permanent', event);
|
|
394
389
|
}
|
|
395
390
|
} catch (error) {
|
|
396
|
-
this.logger.error(
|
|
391
|
+
this.logger.error("".concat(this.namespace, ": error occurred in close handler"), error);
|
|
397
392
|
}
|
|
398
393
|
},
|
|
399
394
|
_onmessage: function _onmessage(event) {
|
|
400
395
|
var _this6 = this;
|
|
401
396
|
var envelope = event.data;
|
|
402
397
|
if (process.env.ENABLE_MERCURY_LOGGING) {
|
|
403
|
-
this.logger.debug(
|
|
398
|
+
this.logger.debug("".concat(this.namespace, ": message envelope: "), envelope);
|
|
404
399
|
}
|
|
405
400
|
var data = envelope.data;
|
|
406
401
|
this._applyOverrides(data);
|
|
@@ -411,7 +406,7 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
|
|
|
411
406
|
return new _promise.default(function (resolve) {
|
|
412
407
|
return resolve((_this6.webex[namespace] || _this6.webex.internal[namespace])[name](data));
|
|
413
408
|
}).catch(function (reason) {
|
|
414
|
-
return _this6.logger.error("
|
|
409
|
+
return _this6.logger.error("".concat(_this6.namespace, ": error occurred in autowired event handler for ").concat(data.eventType), reason);
|
|
415
410
|
});
|
|
416
411
|
});
|
|
417
412
|
}, _promise.default.resolve()).then(function () {
|
|
@@ -426,15 +421,14 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
|
|
|
426
421
|
_this6._emit("event:".concat(data.eventType), envelope);
|
|
427
422
|
}
|
|
428
423
|
}).catch(function (reason) {
|
|
429
|
-
_this6.logger.error(
|
|
424
|
+
_this6.logger.error("".concat(_this6.namespace, ": error occurred processing socket message"), reason);
|
|
430
425
|
});
|
|
431
426
|
},
|
|
432
427
|
_reconnect: function _reconnect(webSocketUrl) {
|
|
433
|
-
this.logger.info(
|
|
428
|
+
this.logger.info("".concat(this.namespace, ": reconnecting"));
|
|
434
429
|
return this.connect(webSocketUrl);
|
|
435
430
|
},
|
|
436
|
-
version: "3.0.0
|
|
431
|
+
version: "3.0.0"
|
|
437
432
|
}, ((0, _applyDecoratedDescriptor2.default)(_obj, "connect", [_common.oneFlight], (0, _getOwnPropertyDescriptor.default)(_obj, "connect"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "disconnect", [_common.oneFlight], (0, _getOwnPropertyDescriptor.default)(_obj, "disconnect"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "listen", [_dec], (0, _getOwnPropertyDescriptor.default)(_obj, "listen"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "stopListening", [_dec2], (0, _getOwnPropertyDescriptor.default)(_obj, "stopListening"), _obj)), _obj)));
|
|
438
|
-
var _default = Mercury;
|
|
439
|
-
exports.default = _default;
|
|
433
|
+
var _default = exports.default = Mercury;
|
|
440
434
|
//# sourceMappingURL=mercury.js.map
|