@webex/internal-plugin-mercury 3.0.0-bnr.5 → 3.0.0-next.10

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 ADDED
@@ -0,0 +1,6 @@
1
+ const config = {
2
+ root: true,
3
+ extends: ['@webex/eslint-config-legacy'],
4
+ };
5
+
6
+ module.exports = config;
package/README.md CHANGED
@@ -29,7 +29,9 @@ const webex = new WebexCore();
29
29
  webex.internal.mercury.WHATEVER;
30
30
  ```
31
31
 
32
- ## Using A Proxy Agent To Open A Websocket Connection
32
+ ## Config Options
33
+
34
+ ### Using A Proxy Agent To Open A Websocket Connection
33
35
 
34
36
  For consumers who are not using the SDK via the browser it may be necessary to configure a proxy agent in order to connect with Mercury and open a Websocket in a proxy environment.
35
37
 
@@ -51,6 +53,17 @@ webex.init({
51
53
  });
52
54
  ```
53
55
 
56
+ ### Retries
57
+
58
+
59
+ The default behaviour is for Mercury to continue to try to connect with an exponential back-off. This behavior can be adjusted with the following config params:
60
+
61
+ - `maxRetries` - the number of times it will retry before error. Default: 0
62
+ - `initialConnectionMaxRetries` - the number of times it will retry before error on the first connection. Once a connection has been established, any further connection attempts will use `maxRetries`. Default: 0
63
+ - `backoffTimeMax` - The maximum time between connection attempts in ms. Default: 32000
64
+ - `backoffTimeReset` - The time before the first retry in ms. Default: 1000
65
+
66
+
54
67
  ## Maintainers
55
68
 
56
69
  This package is maintained by [Cisco Webex for Developers](https://developer.webex.com/).
@@ -0,0 +1,3 @@
1
+ const babelConfigLegacy = require('@webex/babel-config-legacy');
2
+
3
+ module.exports = babelConfigLegacy;
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
@@ -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,eAIe;EACbA,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;AAAA"}
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
@@ -1 +1 @@
1
- {"version":3,"names":["ConnectionError","event","code","value","reason","Exception","UnknownResponse","BadRequest","NotAuthorized","Forbidden"],"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":";;;;;;;;;;;;;;;;AAIA;AAAwC;AAAA;AAExC;AACA;AACA;AAFA,IAGaA,eAAe;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAG1B;AACF;AACA;AACA;IACE,iBAAkB;MAAA,IAAZC,KAAK,uEAAG,CAAC,CAAC;MACd,+BAAwB,IAAI,EAAE;QAC5BC,IAAI,EAAE;UACJC,KAAK,EAAEF,KAAK,CAACC;QACf,CAAC;QACDE,MAAM,EAAE;UACND,KAAK,EAAEF,KAAK,CAACG;QACf;MACF,CAAC,CAAC;MAEF,OAAOH,KAAK,CAACG,MAAM;IACrB;EAAC;EAAA;AAAA,EAlBkCC,iBAAS;AAqB9C;AACA;AACA;AAFA;AAAA,8BArBaL,eAAe,oBACF,6BAA6B;AAAA,IAuB1CM,eAAe;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;AAAA,EAASN,eAAe;AAKpD;AACA;AACA;AAFA;AAAA,8BALaM,eAAe,oBAExB,2GAA2G;AAAA,IAMlGC,UAAU;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;AAAA,EAASP,eAAe;AAK/C;AACA;AACA;AAFA;AAAA,8BALaO,UAAU,oBAEnB,0EAA0E;AAAA,IAMjEC,aAAa;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;AAAA,EAASR,eAAe;AAIlD;AACA;AACA;AAFA;AAAA,8BAJaQ,aAAa,oBACA,kCAAkC;AAAA,IAM/CC,SAAS;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;AAAA,EAAST,eAAe,GAI9C;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA,8BATaS,SAAS,oBACI,wEAAwE"}
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA;AACA;AAEA;AAEA;AACA;AAWA;AAEA;AAxBA;AACA;AACA;;AAWA,IAAAA,iCAAsB,EAAC,SAAS,EAAEC,gBAAO,EAAE;EACzCC,MAAM,EAANA,eAAM;EACNC,cAAc,4BAAG;IACf,OAAO,IAAI,CAACC,UAAU,EAAE;EAC1B;AACF,CAAC,CAAC"}
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,21 +20,24 @@ 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
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys2(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor2(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
34
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor2(source, key)); }); } return target; }
31
+ /* eslint-disable require-jsdoc */
32
+ /*!
33
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
34
+ */
35
+ 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; }
36
+ 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
37
  var normalReconnectReasons = ['idle', 'done (forced)', 'pong not received', 'pong mismatch'];
36
38
  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
39
  namespace: 'Mercury',
40
+ lastError: undefined,
38
41
  session: {
39
42
  connected: {
40
43
  default: false,
@@ -44,6 +47,10 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
44
47
  default: false,
45
48
  type: 'boolean'
46
49
  },
50
+ hasEverConnected: {
51
+ default: false,
52
+ type: 'boolean'
53
+ },
47
54
  socket: 'object',
48
55
  localClusterServiceUrls: 'object'
49
56
  },
@@ -55,15 +62,22 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
55
62
  }
56
63
  }
57
64
  },
65
+ /**
66
+ * Get the last error.
67
+ * @returns {any} The last error.
68
+ */
69
+ getLastError: function getLastError() {
70
+ return this.lastError;
71
+ },
58
72
  connect: function connect(webSocketUrl) {
59
73
  var _this = this;
60
74
  if (this.connected) {
61
- this.logger.info('mercury: already connected, will not connect again');
75
+ this.logger.info("".concat(this.namespace, ": already connected, will not connect again"));
62
76
  return _promise.default.resolve();
63
77
  }
64
78
  this.connecting = true;
65
79
  return _promise.default.resolve(this.webex.internal.device.registered || this.webex.internal.device.register()).then(function () {
66
- _this.logger.info('mercury: connecting');
80
+ _this.logger.info("".concat(_this.namespace, ": connecting"));
67
81
  return _this._connectWithBackoff(webSocketUrl);
68
82
  });
69
83
  },
@@ -71,14 +85,13 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
71
85
  var _this2 = this;
72
86
  return new _promise.default(function (resolve) {
73
87
  if (_this2.backoffCall) {
74
- _this2.logger.info('mercury: aborting connection');
88
+ _this2.logger.info("".concat(_this2.namespace, ": aborting connection"));
75
89
  _this2.backoffCall.abort();
76
90
  }
77
91
  if (_this2.socket) {
78
92
  _this2.socket.removeAllListeners('message');
79
93
  _this2.once('offline', resolve);
80
- _this2.socket.close();
81
- return;
94
+ resolve(_this2.socket.close());
82
95
  }
83
96
  resolve();
84
97
  });
@@ -100,7 +113,7 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
100
113
  }
101
114
  var headerKeys = (0, _keys.default)(event.headers);
102
115
  headerKeys.forEach(function (keyPath) {
103
- (0, _set2.default)(event, keyPath, event.headers[keyPath]);
116
+ (0, _lodash.set)(event, keyPath, event.headers[keyPath]);
104
117
  });
105
118
  },
106
119
  _prepareUrl: function _prepareUrl(webSocketUrl) {
@@ -131,7 +144,7 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
131
144
  });
132
145
  (0, _deleteProperty.default)(webSocketUrl.query, 'bufferStates');
133
146
  }
134
- if ((0, _get2.default)(_this3, 'webex.config.device.ephemeral', false)) {
147
+ if ((0, _lodash.get)(_this3, 'webex.config.device.ephemeral', false)) {
135
148
  webSocketUrl.query.multipleConnections = true;
136
149
  }
137
150
  return _url.default.format(webSocketUrl);
@@ -153,12 +166,18 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
153
166
  }
154
167
  return _this4._emit.apply(_this4, ['sequence-mismatch'].concat(args));
155
168
  });
169
+ socket.on('ping-pong-latency', function () {
170
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
171
+ args[_key2] = arguments[_key2];
172
+ }
173
+ return _this4._emit.apply(_this4, ['ping-pong-latency'].concat(args));
174
+ });
156
175
  _promise.default.all([this._prepareUrl(socketUrl), this.webex.credentials.getUserToken()]).then(function (_ref) {
157
176
  var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
158
177
  webSocketUrl = _ref2[0],
159
178
  token = _ref2[1];
160
179
  if (!_this4.backoffCall) {
161
- var msg = 'mercury: prevent socket open when backoffCall no longer defined';
180
+ var msg = "".concat(_this4.namespace, ": prevent socket open when backoffCall no longer defined");
162
181
  _this4.logger.info(msg);
163
182
  return _promise.default.reject(new Error(msg));
164
183
  }
@@ -174,24 +193,17 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
174
193
 
175
194
  // if the consumer has supplied request options use them
176
195
  if (_this4.webex.config.defaultMercuryOptions) {
177
- _this4.logger.info('mercury: setting custom options');
196
+ _this4.logger.info("".concat(_this4.namespace, ": setting custom options"));
178
197
  options = _objectSpread(_objectSpread({}, options), _this4.webex.config.defaultMercuryOptions);
179
198
  }
180
199
 
181
200
  // Set the socket before opening it. This allows a disconnect() to close
182
201
  // the socket if it is in the process of being opened.
183
202
  _this4.socket = socket;
203
+ _this4.logger.info("".concat(_this4.namespace, " connection url: ").concat(webSocketUrl));
184
204
  return socket.open(webSocketUrl, options);
185
205
  }).then(function () {
186
- _this4.webex.internal.metrics.submitClientMetrics('web-ha-mercury', {
187
- fields: {
188
- success: true
189
- },
190
- tags: {
191
- action: 'connected',
192
- url: attemptWSUrl
193
- }
194
- });
206
+ _this4.logger.info("".concat(_this4.namespace, ": connected to mercury, success, action: connected, url: ").concat(attemptWSUrl));
195
207
  callback();
196
208
  return _this4.webex.internal.feature.getFeature('developer', 'web-high-availability').then(function (haMessagingEnabled) {
197
209
  if (haMessagingEnabled) {
@@ -200,6 +212,8 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
200
212
  return _promise.default.resolve();
201
213
  });
202
214
  }).catch(function (reason) {
215
+ _this4.lastError = reason; // remember the last error
216
+
203
217
  // Suppress connection errors that appear to be network related. This
204
218
  // may end up suppressing metrics during outages, but we might not care
205
219
  // (especially since many of our outages happen in a way that client
@@ -209,18 +223,18 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
209
223
  retries: _this4.backoffCall.getNumRetries()
210
224
  });
211
225
  }
212
- _this4.logger.info('mercury: connection attempt failed', reason);
226
+ _this4.logger.info("".concat(_this4.namespace, ": connection attempt failed"), reason);
213
227
  // UnknownResponse is produced by IE for any 4XXX; treated it like a bad
214
228
  // web socket url and let WDM handle the token checking
215
229
  if (reason instanceof _errors.UnknownResponse) {
216
- _this4.logger.info('mercury: received unknown response code, refreshing device registration');
230
+ _this4.logger.info("".concat(_this4.namespace, ": received unknown response code, refreshing device registration"));
217
231
  return _this4.webex.internal.device.refresh().then(function () {
218
232
  return callback(reason);
219
233
  });
220
234
  }
221
235
  // NotAuthorized implies expired token
222
236
  if (reason instanceof _errors.NotAuthorized) {
223
- _this4.logger.info('mercury: received authorization error, reauthorizing');
237
+ _this4.logger.info("".concat(_this4.namespace, ": received authorization error, reauthorizing"));
224
238
  return _this4.webex.credentials.refresh({
225
239
  force: true
226
240
  }).then(function () {
@@ -236,24 +250,14 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
236
250
  // BadRequest implies current credentials are for a Service Account
237
251
  // Forbidden implies current user is not entitle for Webex
238
252
  if (reason instanceof _errors.BadRequest || reason instanceof _errors.Forbidden) {
239
- _this4.logger.warn('mercury: received unrecoverable response from mercury');
253
+ _this4.logger.warn("".concat(_this4.namespace, ": received unrecoverable response from mercury"));
240
254
  _this4.backoffCall.abort();
241
255
  return callback(reason);
242
256
  }
243
257
  if (reason instanceof _errors.ConnectionError) {
244
258
  return _this4.webex.internal.feature.getFeature('developer', 'web-high-availability').then(function (haMessagingEnabled) {
245
259
  if (haMessagingEnabled) {
246
- _this4.logger.info('mercury: received a generic connection error, will try to connect to another datacenter');
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
- });
260
+ _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
261
  return _this4.webex.internal.services.markFailedUrl(attemptWSUrl);
258
262
  }
259
263
  return null;
@@ -263,7 +267,7 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
263
267
  }
264
268
  return callback(reason);
265
269
  }).catch(function (reason) {
266
- _this4.logger.error('mercury: failed to handle connection failure', reason);
270
+ _this4.logger.error("".concat(_this4.namespace, ": failed to handle connection failure"), reason);
267
271
  callback(reason);
268
272
  });
269
273
  },
@@ -277,52 +281,61 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
277
281
  _this5.connecting = false;
278
282
  _this5.backoffCall = undefined;
279
283
  if (err) {
280
- _this5.logger.info("mercury: failed to connect after ".concat(call.getNumRetries(), " retries; log statement about next retry was inaccurate; ").concat(err));
284
+ _this5.logger.info("".concat(_this5.namespace, ": failed to connect after ").concat(call.getNumRetries(), " retries; log statement about next retry was inaccurate; ").concat(err));
281
285
  return reject(err);
282
286
  }
283
287
  _this5.connected = true;
288
+ _this5.hasEverConnected = true;
284
289
  _this5._emit('online');
285
290
  return resolve();
286
291
  };
287
292
 
288
293
  // eslint-disable-next-line prefer-reflect
289
294
  call = _backoff.default.call(function (callback) {
290
- _this5.logger.info("mercury: executing connection attempt ".concat(call.getNumRetries()));
295
+ _this5.logger.info("".concat(_this5.namespace, ": executing connection attempt ").concat(call.getNumRetries()));
291
296
  _this5._attemptConnection(webSocketUrl, callback);
292
297
  }, onComplete);
293
298
  call.setStrategy(new _backoff.default.ExponentialStrategy({
294
299
  initialDelay: _this5.config.backoffTimeReset,
295
300
  maxDelay: _this5.config.backoffTimeMax
296
301
  }));
297
- if (_this5.config.maxRetries) {
302
+ if (_this5.config.initialConnectionMaxRetries && !_this5.hasEverConnected) {
303
+ call.failAfter(_this5.config.initialConnectionMaxRetries);
304
+ } else if (_this5.config.maxRetries) {
298
305
  call.failAfter(_this5.config.maxRetries);
299
306
  }
300
307
  call.on('abort', function () {
301
- _this5.logger.info('mercury: connection aborted');
308
+ _this5.logger.info("".concat(_this5.namespace, ": connection aborted"));
302
309
  reject(new Error('Mercury Connection Aborted'));
303
310
  });
304
311
  call.on('callback', function (err) {
305
312
  if (err) {
306
313
  var number = call.getNumRetries();
307
314
  var delay = Math.min(call.strategy_.nextBackoffDelay_, _this5.config.backoffTimeMax);
308
- _this5.logger.info("mercury: failed to connect; attempting retry ".concat(number + 1, " in ").concat(delay, " ms"));
315
+ _this5.logger.info("".concat(_this5.namespace, ": failed to connect; attempting retry ").concat(number + 1, " in ").concat(delay, " ms"));
309
316
  /* istanbul ignore if */
310
317
  if (process.env.NODE_ENV === 'development') {
311
- _this5.logger.debug('mercury: ', err, err.stack);
318
+ _this5.logger.debug("".concat(_this5.namespace, ": "), err, err.stack);
312
319
  }
313
320
  return;
314
321
  }
315
- _this5.logger.info('mercury: connected');
322
+ _this5.logger.info("".concat(_this5.namespace, ": connected"));
316
323
  });
317
324
  call.start();
318
325
  _this5.backoffCall = call;
319
326
  });
320
327
  },
321
328
  _emit: function _emit() {
329
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
330
+ args[_key3] = arguments[_key3];
331
+ }
322
332
  try {
323
- this.trigger.apply(this, arguments);
333
+ this.trigger.apply(this, args);
324
334
  } catch (error) {
325
- this.logger.error('mercury: error occurred in event handler', error);
335
+ this.logger.error("".concat(this.namespace, ": error occurred in event handler"), {
336
+ error: error,
337
+ arguments: args
338
+ });
326
339
  }
327
340
  },
328
341
  _getEventHandlers: function _getEventHandlers(eventType) {
@@ -334,7 +347,7 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
334
347
  if (!this.webex[namespace] && !this.webex.internal[namespace]) {
335
348
  return handlers;
336
349
  }
337
- var handlerName = (0, _camelCase2.default)("process_".concat(name, "_event"));
350
+ var handlerName = (0, _lodash.camelCase)("process_".concat(name, "_event"));
338
351
  if ((this.webex[namespace] || this.webex.internal[namespace])[handlerName]) {
339
352
  handlers.push({
340
353
  name: handlerName,
@@ -357,19 +370,19 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
357
370
  switch (event.code) {
358
371
  case 1003:
359
372
  // metric: disconnect
360
- this.logger.info("mercury: Mercury service rejected last message; will not reconnect: ".concat(event.reason));
373
+ this.logger.info("".concat(this.namespace, ": Mercury service rejected last message; will not reconnect: ").concat(event.reason));
361
374
  this._emit('offline.permanent', event);
362
375
  break;
363
376
  case 4000:
364
377
  // metric: disconnect
365
- this.logger.info('mercury: socket replaced; will not reconnect');
378
+ this.logger.info("".concat(this.namespace, ": socket replaced; will not reconnect"));
366
379
  this._emit('offline.replaced', event);
367
380
  break;
368
381
  case 1001:
369
382
  case 1005:
370
383
  case 1006:
371
384
  case 1011:
372
- this.logger.info('mercury: socket disconnected; reconnecting');
385
+ this.logger.info("".concat(this.namespace, ": socket disconnected; reconnecting"));
373
386
  this._emit('offline.transient', event);
374
387
  this._reconnect(socketUrl);
375
388
  // metric: disconnect
@@ -377,30 +390,30 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
377
390
  break;
378
391
  case 1000:
379
392
  if (normalReconnectReasons.includes(reason)) {
380
- this.logger.info('mercury: socket disconnected; reconnecting');
393
+ this.logger.info("".concat(this.namespace, ": socket disconnected; reconnecting"));
381
394
  this._emit('offline.transient', event);
382
395
  this._reconnect(socketUrl);
383
396
  // metric: disconnect
384
397
  // if (reason === done forced) metric: force closure
385
398
  } else {
386
- this.logger.info('mercury: socket disconnected; will not reconnect');
399
+ this.logger.info("".concat(this.namespace, ": socket disconnected; will not reconnect"));
387
400
  this._emit('offline.permanent', event);
388
401
  }
389
402
  break;
390
403
  default:
391
- this.logger.info('mercury: socket disconnected unexpectedly; will not reconnect');
404
+ this.logger.info("".concat(this.namespace, ": socket disconnected unexpectedly; will not reconnect"));
392
405
  // unexpected disconnect
393
406
  this._emit('offline.permanent', event);
394
407
  }
395
408
  } catch (error) {
396
- this.logger.error('mercury: error occurred in close handler', error);
409
+ this.logger.error("".concat(this.namespace, ": error occurred in close handler"), error);
397
410
  }
398
411
  },
399
412
  _onmessage: function _onmessage(event) {
400
413
  var _this6 = this;
401
414
  var envelope = event.data;
402
415
  if (process.env.ENABLE_MERCURY_LOGGING) {
403
- this.logger.debug('mercury: message envelope: ', envelope);
416
+ this.logger.debug("".concat(this.namespace, ": message envelope: "), envelope);
404
417
  }
405
418
  var data = envelope.data;
406
419
  this._applyOverrides(data);
@@ -411,7 +424,7 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
411
424
  return new _promise.default(function (resolve) {
412
425
  return resolve((_this6.webex[namespace] || _this6.webex.internal[namespace])[name](data));
413
426
  }).catch(function (reason) {
414
- return _this6.logger.error("mercury: error occurred in autowired event handler for ".concat(data.eventType), reason);
427
+ return _this6.logger.error("".concat(_this6.namespace, ": error occurred in autowired event handler for ").concat(data.eventType), reason);
415
428
  });
416
429
  });
417
430
  }, _promise.default.resolve()).then(function () {
@@ -426,15 +439,14 @@ var Mercury = _webexCore.WebexPlugin.extend((_dec = (0, _common.deprecated)('Mer
426
439
  _this6._emit("event:".concat(data.eventType), envelope);
427
440
  }
428
441
  }).catch(function (reason) {
429
- _this6.logger.error('mercury: error occurred processing socket message', reason);
442
+ _this6.logger.error("".concat(_this6.namespace, ": error occurred processing socket message"), reason);
430
443
  });
431
444
  },
432
445
  _reconnect: function _reconnect(webSocketUrl) {
433
- this.logger.info('mercury: reconnecting');
446
+ this.logger.info("".concat(this.namespace, ": reconnecting"));
434
447
  return this.connect(webSocketUrl);
435
448
  },
436
- version: "3.0.0-bnr.5"
449
+ version: "3.0.0-next.10"
437
450
  }, ((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;
451
+ var _default = exports.default = Mercury;
440
452
  //# sourceMappingURL=mercury.js.map