@webex/webex-core 3.0.0-beta.2 → 3.0.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/dist/config.js +1 -11
  2. package/dist/config.js.map +1 -1
  3. package/dist/credentials-config.js +44 -64
  4. package/dist/credentials-config.js.map +1 -1
  5. package/dist/index.js +0 -76
  6. package/dist/index.js.map +1 -1
  7. package/dist/interceptors/auth.js +22 -55
  8. package/dist/interceptors/auth.js.map +1 -1
  9. package/dist/interceptors/default-options.js +0 -20
  10. package/dist/interceptors/default-options.js.map +1 -1
  11. package/dist/interceptors/embargo.js +0 -21
  12. package/dist/interceptors/embargo.js.map +1 -1
  13. package/dist/interceptors/network-timing.js +2 -21
  14. package/dist/interceptors/network-timing.js.map +1 -1
  15. package/dist/interceptors/payload-transformer.js +2 -22
  16. package/dist/interceptors/payload-transformer.js.map +1 -1
  17. package/dist/interceptors/rate-limit.js +25 -57
  18. package/dist/interceptors/rate-limit.js.map +1 -1
  19. package/dist/interceptors/redirect.js +4 -33
  20. package/dist/interceptors/redirect.js.map +1 -1
  21. package/dist/interceptors/request-event.js +3 -30
  22. package/dist/interceptors/request-event.js.map +1 -1
  23. package/dist/interceptors/request-logger.js +1 -30
  24. package/dist/interceptors/request-logger.js.map +1 -1
  25. package/dist/interceptors/request-timing.js +3 -22
  26. package/dist/interceptors/request-timing.js.map +1 -1
  27. package/dist/interceptors/response-logger.js +2 -31
  28. package/dist/interceptors/response-logger.js.map +1 -1
  29. package/dist/interceptors/user-agent.js +2 -29
  30. package/dist/interceptors/user-agent.js.map +1 -1
  31. package/dist/interceptors/webex-tracking-id.js +5 -28
  32. package/dist/interceptors/webex-tracking-id.js.map +1 -1
  33. package/dist/interceptors/webex-user-agent.js +5 -38
  34. package/dist/interceptors/webex-user-agent.js.map +1 -1
  35. package/dist/lib/batcher.js +3 -51
  36. package/dist/lib/batcher.js.map +1 -1
  37. package/dist/lib/credentials/credentials.js +39 -119
  38. package/dist/lib/credentials/credentials.js.map +1 -1
  39. package/dist/lib/credentials/grant-errors.js +0 -49
  40. package/dist/lib/credentials/grant-errors.js.map +1 -1
  41. package/dist/lib/credentials/index.js +1 -13
  42. package/dist/lib/credentials/index.js.map +1 -1
  43. package/dist/lib/credentials/scope.js +1 -7
  44. package/dist/lib/credentials/scope.js.map +1 -1
  45. package/dist/lib/credentials/token-collection.js +1 -7
  46. package/dist/lib/credentials/token-collection.js.map +1 -1
  47. package/dist/lib/credentials/token.js +39 -118
  48. package/dist/lib/credentials/token.js.map +1 -1
  49. package/dist/lib/page.js +13 -26
  50. package/dist/lib/page.js.map +1 -1
  51. package/dist/lib/services/constants.js +0 -2
  52. package/dist/lib/services/constants.js.map +1 -1
  53. package/dist/lib/services/index.js +1 -28
  54. package/dist/lib/services/index.js.map +1 -1
  55. package/dist/lib/services/interceptors/server-error.js +2 -23
  56. package/dist/lib/services/interceptors/server-error.js.map +1 -1
  57. package/dist/lib/services/interceptors/service.js +12 -34
  58. package/dist/lib/services/interceptors/service.js.map +1 -1
  59. package/dist/lib/services/metrics.js +0 -2
  60. package/dist/lib/services/metrics.js.map +1 -1
  61. package/dist/lib/services/service-catalog.js +10 -90
  62. package/dist/lib/services/service-catalog.js.map +1 -1
  63. package/dist/lib/services/service-fed-ramp.js +0 -2
  64. package/dist/lib/services/service-fed-ramp.js.map +1 -1
  65. package/dist/lib/services/service-host.js +47 -62
  66. package/dist/lib/services/service-host.js.map +1 -1
  67. package/dist/lib/services/service-registry.js +78 -90
  68. package/dist/lib/services/service-registry.js.map +1 -1
  69. package/dist/lib/services/service-state.js +3 -15
  70. package/dist/lib/services/service-state.js.map +1 -1
  71. package/dist/lib/services/service-url.js +4 -25
  72. package/dist/lib/services/service-url.js.map +1 -1
  73. package/dist/lib/services/services.js +122 -238
  74. package/dist/lib/services/services.js.map +1 -1
  75. package/dist/lib/stateless-webex-plugin.js +5 -28
  76. package/dist/lib/stateless-webex-plugin.js.map +1 -1
  77. package/dist/lib/storage/decorators.js +19 -62
  78. package/dist/lib/storage/decorators.js.map +1 -1
  79. package/dist/lib/storage/errors.js +0 -23
  80. package/dist/lib/storage/errors.js.map +1 -1
  81. package/dist/lib/storage/index.js +2 -16
  82. package/dist/lib/storage/index.js.map +1 -1
  83. package/dist/lib/storage/make-webex-plugin-store.js +11 -41
  84. package/dist/lib/storage/make-webex-plugin-store.js.map +1 -1
  85. package/dist/lib/storage/make-webex-store.js +8 -30
  86. package/dist/lib/storage/make-webex-store.js.map +1 -1
  87. package/dist/lib/storage/memory-store-adapter.js +1 -19
  88. package/dist/lib/storage/memory-store-adapter.js.map +1 -1
  89. package/dist/lib/webex-core-plugin-mixin.js +9 -29
  90. package/dist/lib/webex-core-plugin-mixin.js.map +1 -1
  91. package/dist/lib/webex-http-error.js +1 -31
  92. package/dist/lib/webex-http-error.js.map +1 -1
  93. package/dist/lib/webex-internal-core-plugin-mixin.js +9 -29
  94. package/dist/lib/webex-internal-core-plugin-mixin.js.map +1 -1
  95. package/dist/lib/webex-plugin.js +6 -40
  96. package/dist/lib/webex-plugin.js.map +1 -1
  97. package/dist/plugins/logger.js +3 -17
  98. package/dist/plugins/logger.js.map +1 -1
  99. package/dist/webex-core.js +79 -203
  100. package/dist/webex-core.js.map +1 -1
  101. package/dist/webex-internal-core.js +0 -10
  102. package/dist/webex-internal-core.js.map +1 -1
  103. package/package.json +14 -14
  104. package/src/config.js +9 -11
  105. package/src/credentials-config.js +110 -72
  106. package/src/index.js +4 -14
  107. package/src/interceptors/auth.js +36 -37
  108. package/src/interceptors/default-options.js +0 -1
  109. package/src/interceptors/embargo.js +1 -1
  110. package/src/interceptors/payload-transformer.js +1 -2
  111. package/src/interceptors/rate-limit.js +8 -5
  112. package/src/interceptors/redirect.js +14 -8
  113. package/src/interceptors/request-event.js +4 -8
  114. package/src/interceptors/request-logger.js +8 -5
  115. package/src/interceptors/response-logger.js +11 -8
  116. package/src/interceptors/user-agent.js +1 -2
  117. package/src/interceptors/webex-user-agent.js +3 -9
  118. package/src/lib/batcher.js +70 -69
  119. package/src/lib/credentials/credentials.js +112 -122
  120. package/src/lib/credentials/grant-errors.js +6 -7
  121. package/src/lib/credentials/index.js +1 -4
  122. package/src/lib/credentials/scope.js +1 -4
  123. package/src/lib/credentials/token-collection.js +1 -1
  124. package/src/lib/credentials/token.js +86 -80
  125. package/src/lib/page.js +10 -11
  126. package/src/lib/services/constants.js +3 -13
  127. package/src/lib/services/index.js +2 -2
  128. package/src/lib/services/interceptors/server-error.js +12 -7
  129. package/src/lib/services/interceptors/service.js +6 -5
  130. package/src/lib/services/metrics.js +1 -1
  131. package/src/lib/services/service-catalog.js +110 -100
  132. package/src/lib/services/service-fed-ramp.js +1 -2
  133. package/src/lib/services/service-host.js +10 -17
  134. package/src/lib/services/service-registry.js +69 -96
  135. package/src/lib/services/service-state.js +4 -6
  136. package/src/lib/services/service-url.js +24 -23
  137. package/src/lib/services/services.js +260 -251
  138. package/src/lib/stateless-webex-plugin.js +4 -2
  139. package/src/lib/storage/decorators.js +68 -66
  140. package/src/lib/storage/index.js +4 -6
  141. package/src/lib/storage/make-webex-plugin-store.js +34 -21
  142. package/src/lib/storage/make-webex-store.js +6 -7
  143. package/src/lib/storage/memory-store-adapter.js +3 -3
  144. package/src/lib/webex-core-plugin-mixin.js +10 -7
  145. package/src/lib/webex-http-error.js +7 -8
  146. package/src/lib/webex-internal-core-plugin-mixin.js +9 -6
  147. package/src/lib/webex-plugin.js +41 -34
  148. package/src/plugins/logger.js +8 -3
  149. package/src/webex-core.js +185 -116
  150. package/src/webex-internal-core.js +15 -9
  151. package/test/integration/spec/credentials/credentials.js +26 -30
  152. package/test/integration/spec/credentials/token.js +36 -33
  153. package/test/integration/spec/services/service-catalog.js +177 -156
  154. package/test/integration/spec/services/services.js +313 -304
  155. package/test/integration/spec/webex-core.js +98 -86
  156. package/test/unit/spec/_setup.js +26 -18
  157. package/test/unit/spec/credentials/credentials.js +189 -154
  158. package/test/unit/spec/credentials/token.js +94 -76
  159. package/test/unit/spec/interceptors/auth.js +291 -243
  160. package/test/unit/spec/interceptors/default-options.js +36 -24
  161. package/test/unit/spec/interceptors/embargo.js +32 -27
  162. package/test/unit/spec/interceptors/network-timing.js +2 -2
  163. package/test/unit/spec/interceptors/payload-transformer.js +61 -52
  164. package/test/unit/spec/interceptors/rate-limit.js +104 -75
  165. package/test/unit/spec/interceptors/redirect.js +22 -20
  166. package/test/unit/spec/interceptors/request-timing.js +18 -22
  167. package/test/unit/spec/interceptors/user-agent.js +28 -16
  168. package/test/unit/spec/interceptors/webex-tracking-id.js +14 -8
  169. package/test/unit/spec/interceptors/webex-user-agent.js +83 -37
  170. package/test/unit/spec/lib/batcher.js +36 -32
  171. package/test/unit/spec/lib/page.js +36 -32
  172. package/test/unit/spec/lib/webex-plugin.js +1 -1
  173. package/test/unit/spec/services/interceptors/server-error.js +67 -90
  174. package/test/unit/spec/services/interceptors/service.js +17 -28
  175. package/test/unit/spec/services/service-catalog.js +19 -27
  176. package/test/unit/spec/services/service-host.js +29 -26
  177. package/test/unit/spec/services/service-registry.js +128 -170
  178. package/test/unit/spec/services/service-state.js +13 -22
  179. package/test/unit/spec/services/service-url.js +24 -43
  180. package/test/unit/spec/services/services.js +85 -41
  181. package/test/unit/spec/storage/persist.js +6 -9
  182. package/test/unit/spec/storage/wait-for-value.js +22 -21
  183. package/test/unit/spec/webex-core.js +78 -57
  184. package/test/unit/spec/webex-internal-core.js +56 -31
@@ -1,60 +1,37 @@
1
1
  "use strict";
2
2
 
3
3
  var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
-
5
4
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
6
-
7
5
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
8
-
9
6
  _Object$defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
-
13
9
  exports.default = void 0;
14
-
15
10
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
16
-
17
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
18
-
19
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
20
-
21
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
22
-
23
14
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
24
-
25
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
26
-
27
16
  var _omit2 = _interopRequireDefault(require("lodash/omit"));
28
-
29
17
  var _isString2 = _interopRequireDefault(require("lodash/isString"));
30
-
31
18
  var _isArray2 = _interopRequireDefault(require("lodash/isArray"));
32
-
33
19
  var _has2 = _interopRequireDefault(require("lodash/has"));
34
-
35
20
  var _get2 = _interopRequireDefault(require("lodash/get"));
36
-
37
21
  var _util = _interopRequireDefault(require("util"));
38
-
39
22
  var _httpCore = require("@webex/http-core");
40
-
41
23
  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); }; }
42
-
43
24
  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; } }
44
-
45
25
  /**
46
26
  * @class
47
27
  */
48
28
  var RequestLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
49
29
  (0, _inherits2.default)(RequestLoggerInterceptor, _Interceptor);
50
-
51
30
  var _super = _createSuper(RequestLoggerInterceptor);
52
-
53
31
  function RequestLoggerInterceptor() {
54
32
  (0, _classCallCheck2.default)(this, RequestLoggerInterceptor);
55
33
  return _super.apply(this, arguments);
56
34
  }
57
-
58
35
  (0, _createClass2.default)(RequestLoggerInterceptor, [{
59
36
  key: "onRequest",
60
37
  value:
@@ -69,16 +46,12 @@ var RequestLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
69
46
  logger.info('Request:', options.method || 'GET', options.uri);
70
47
  logger.info('WEBEX_TRACKINGID: ', (0, _get2.default)(options, 'headers.trackingid'));
71
48
  /* istanbul ignore next */
72
-
73
49
  if ((0, _has2.default)(options, 'headers.x-trans-id')) {
74
50
  logger.info('X-Trans-ID: ', (0, _get2.default)(options, 'headers.x-trans-id'));
75
51
  }
76
-
77
52
  var now = new Date();
78
-
79
53
  if (process.env.ENABLE_VERBOSE_NETWORK_LOGGING) {
80
54
  logger.info('timestamp (start): ', now.getTime(), now.toISOString());
81
-
82
55
  try {
83
56
  // Determine if body is a buffer without relying on Buffer to avoid
84
57
  // node/browser conflicts.
@@ -95,16 +68,15 @@ var RequestLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
95
68
  logger.warn('Could not stringify request options:', e);
96
69
  }
97
70
  }
98
-
99
71
  return _promise.default.resolve(options);
100
72
  }
73
+
101
74
  /**
102
75
  * @see Interceptor#onRequest
103
76
  * @param {Object} options
104
77
  * @param {Error} reason
105
78
  * @returns {Object}
106
79
  */
107
-
108
80
  }, {
109
81
  key: "onRequestError",
110
82
  value: function onRequestError(options, reason) {
@@ -130,6 +102,5 @@ var RequestLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
130
102
  }]);
131
103
  return RequestLoggerInterceptor;
132
104
  }(_httpCore.Interceptor);
133
-
134
105
  exports.default = RequestLoggerInterceptor;
135
106
  //# sourceMappingURL=request-logger.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RequestLoggerInterceptor","options","logger","console","info","method","uri","now","Date","process","env","ENABLE_VERBOSE_NETWORK_LOGGING","getTime","toISOString","body","length","util","inspect","depth","e","warn","resolve","reason","onRequest","error","stack","reject","webex","Interceptor"],"sources":["request-logger.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport util from 'util';\n\nimport {get, has, isArray, isString, omit} from 'lodash';\nimport {Interceptor} from '@webex/http-core';\n\n/**\n * @class\n */\nexport default class RequestLoggerInterceptor extends Interceptor {\n /**\n * @returns {RequestLoggerInterceptor}\n */\n static create() {\n return new RequestLoggerInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n const logger = get(this, 'webex.logger', console);\n\n logger.info('/**********************************************************************\\\\ ');\n logger.info('Request:', options.method || 'GET', options.uri);\n logger.info('WEBEX_TRACKINGID: ', get(options, 'headers.trackingid'));\n /* istanbul ignore next */\n if (has(options, 'headers.x-trans-id')) {\n logger.info('X-Trans-ID: ', get(options, 'headers.x-trans-id'));\n }\n const now = new Date();\n\n if (process.env.ENABLE_VERBOSE_NETWORK_LOGGING) {\n logger.info('timestamp (start): ', now.getTime(), now.toISOString());\n try {\n // Determine if body is a buffer without relying on Buffer to avoid\n // node/browser conflicts.\n if (options.body && options.body.length && !isArray(options.body) && !isString(options.body)) {\n logger.info('Request Options:', util.inspect(omit(options, 'body'), {depth: null}));\n }\n else {\n logger.info('Request Options:', util.inspect(options, {depth: null}));\n }\n }\n catch (e) {\n logger.warn('Could not stringify request options:', e);\n }\n }\n\n return Promise.resolve(options);\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @param {Error} reason\n * @returns {Object}\n */\n onRequestError(options, reason) {\n // We need to do the normal onRequest logging, but then log how the request\n // failed since the response logger won't be called.\n this.onRequest(options);\n const logger = get(this, 'webex.logger', console);\n\n logger.error('Request Failed: ', reason.stack);\n logger.info('\\\\**********************************************************************/');\n\n return Promise.reject(reason);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAGA;;;;;;AAEA;AACA;AACA;IACqBA,wB;;;;;;;;;;;;;IAQnB;AACF;AACA;AACA;AACA;IACE,mBAAUC,OAAV,EAAmB;MACjB,IAAMC,MAAM,GAAG,mBAAI,IAAJ,EAAU,cAAV,EAA0BC,OAA1B,CAAf;MAEAD,MAAM,CAACE,IAAP,CAAY,4EAAZ;MACAF,MAAM,CAACE,IAAP,CAAY,UAAZ,EAAwBH,OAAO,CAACI,MAAR,IAAkB,KAA1C,EAAiDJ,OAAO,CAACK,GAAzD;MACAJ,MAAM,CAACE,IAAP,CAAY,oBAAZ,EAAkC,mBAAIH,OAAJ,EAAa,oBAAb,CAAlC;MACA;;MACA,IAAI,mBAAIA,OAAJ,EAAa,oBAAb,CAAJ,EAAwC;QACtCC,MAAM,CAACE,IAAP,CAAY,cAAZ,EAA4B,mBAAIH,OAAJ,EAAa,oBAAb,CAA5B;MACD;;MACD,IAAMM,GAAG,GAAG,IAAIC,IAAJ,EAAZ;;MAEA,IAAIC,OAAO,CAACC,GAAR,CAAYC,8BAAhB,EAAgD;QAC9CT,MAAM,CAACE,IAAP,CAAY,qBAAZ,EAAmCG,GAAG,CAACK,OAAJ,EAAnC,EAAkDL,GAAG,CAACM,WAAJ,EAAlD;;QACA,IAAI;UACF;UACA;UACA,IAAIZ,OAAO,CAACa,IAAR,IAAgBb,OAAO,CAACa,IAAR,CAAaC,MAA7B,IAAuC,CAAC,uBAAQd,OAAO,CAACa,IAAhB,CAAxC,IAAiE,CAAC,wBAASb,OAAO,CAACa,IAAjB,CAAtE,EAA8F;YAC5FZ,MAAM,CAACE,IAAP,CAAY,kBAAZ,EAAgCY,aAAA,CAAKC,OAAL,CAAa,oBAAKhB,OAAL,EAAc,MAAd,CAAb,EAAoC;cAACiB,KAAK,EAAE;YAAR,CAApC,CAAhC;UACD,CAFD,MAGK;YACHhB,MAAM,CAACE,IAAP,CAAY,kBAAZ,EAAgCY,aAAA,CAAKC,OAAL,CAAahB,OAAb,EAAsB;cAACiB,KAAK,EAAE;YAAR,CAAtB,CAAhC;UACD;QACF,CATD,CAUA,OAAOC,CAAP,EAAU;UACRjB,MAAM,CAACkB,IAAP,CAAY,sCAAZ,EAAoDD,CAApD;QACD;MACF;;MAED,OAAO,iBAAQE,OAAR,CAAgBpB,OAAhB,CAAP;IACD;IAED;AACF;AACA;AACA;AACA;AACA;;;;WACE,wBAAeA,OAAf,EAAwBqB,MAAxB,EAAgC;MAC9B;MACA;MACA,KAAKC,SAAL,CAAetB,OAAf;MACA,IAAMC,MAAM,GAAG,mBAAI,IAAJ,EAAU,cAAV,EAA0BC,OAA1B,CAAf;MAEAD,MAAM,CAACsB,KAAP,CAAa,kBAAb,EAAiCF,MAAM,CAACG,KAAxC;MACAvB,MAAM,CAACE,IAAP,CAAY,2EAAZ;MAEA,OAAO,iBAAQsB,MAAR,CAAeJ,MAAf,CAAP;IACD;;;;IA5DD;AACF;AACA;IACE,kBAAgB;MACd,OAAO,IAAItB,wBAAJ,CAA6B;QAAC2B,KAAK,EAAE;MAAR,CAA7B,CAAP;IACD;;;EANmDC,qB"}
1
+ {"version":3,"names":["RequestLoggerInterceptor","options","logger","console","info","method","uri","now","Date","process","env","ENABLE_VERBOSE_NETWORK_LOGGING","getTime","toISOString","body","length","util","inspect","depth","e","warn","resolve","reason","onRequest","error","stack","reject","webex","Interceptor"],"sources":["request-logger.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport util from 'util';\n\nimport {get, has, isArray, isString, omit} from 'lodash';\nimport {Interceptor} from '@webex/http-core';\n\n/**\n * @class\n */\nexport default class RequestLoggerInterceptor extends Interceptor {\n /**\n * @returns {RequestLoggerInterceptor}\n */\n static create() {\n return new RequestLoggerInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n const logger = get(this, 'webex.logger', console);\n\n logger.info('/**********************************************************************\\\\ ');\n logger.info('Request:', options.method || 'GET', options.uri);\n logger.info('WEBEX_TRACKINGID: ', get(options, 'headers.trackingid'));\n /* istanbul ignore next */\n if (has(options, 'headers.x-trans-id')) {\n logger.info('X-Trans-ID: ', get(options, 'headers.x-trans-id'));\n }\n const now = new Date();\n\n if (process.env.ENABLE_VERBOSE_NETWORK_LOGGING) {\n logger.info('timestamp (start): ', now.getTime(), now.toISOString());\n try {\n // Determine if body is a buffer without relying on Buffer to avoid\n // node/browser conflicts.\n if (\n options.body &&\n options.body.length &&\n !isArray(options.body) &&\n !isString(options.body)\n ) {\n logger.info('Request Options:', util.inspect(omit(options, 'body'), {depth: null}));\n } else {\n logger.info('Request Options:', util.inspect(options, {depth: null}));\n }\n } catch (e) {\n logger.warn('Could not stringify request options:', e);\n }\n }\n\n return Promise.resolve(options);\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @param {Error} reason\n * @returns {Object}\n */\n onRequestError(options, reason) {\n // We need to do the normal onRequest logging, but then log how the request\n // failed since the response logger won't be called.\n this.onRequest(options);\n const logger = get(this, 'webex.logger', console);\n\n logger.error('Request Failed: ', reason.stack);\n logger.info('\\\\**********************************************************************/');\n\n return Promise.reject(reason);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAIA;AAGA;AAA6C;AAAA;AAE7C;AACA;AACA;AAFA,IAGqBA,wBAAwB;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAQ3C;AACF;AACA;AACA;AACA;IACE,mBAAUC,OAAO,EAAE;MACjB,IAAMC,MAAM,GAAG,mBAAI,IAAI,EAAE,cAAc,EAAEC,OAAO,CAAC;MAEjDD,MAAM,CAACE,IAAI,CAAC,4EAA4E,CAAC;MACzFF,MAAM,CAACE,IAAI,CAAC,UAAU,EAAEH,OAAO,CAACI,MAAM,IAAI,KAAK,EAAEJ,OAAO,CAACK,GAAG,CAAC;MAC7DJ,MAAM,CAACE,IAAI,CAAC,oBAAoB,EAAE,mBAAIH,OAAO,EAAE,oBAAoB,CAAC,CAAC;MACrE;MACA,IAAI,mBAAIA,OAAO,EAAE,oBAAoB,CAAC,EAAE;QACtCC,MAAM,CAACE,IAAI,CAAC,cAAc,EAAE,mBAAIH,OAAO,EAAE,oBAAoB,CAAC,CAAC;MACjE;MACA,IAAMM,GAAG,GAAG,IAAIC,IAAI,EAAE;MAEtB,IAAIC,OAAO,CAACC,GAAG,CAACC,8BAA8B,EAAE;QAC9CT,MAAM,CAACE,IAAI,CAAC,qBAAqB,EAAEG,GAAG,CAACK,OAAO,EAAE,EAAEL,GAAG,CAACM,WAAW,EAAE,CAAC;QACpE,IAAI;UACF;UACA;UACA,IACEZ,OAAO,CAACa,IAAI,IACZb,OAAO,CAACa,IAAI,CAACC,MAAM,IACnB,CAAC,uBAAQd,OAAO,CAACa,IAAI,CAAC,IACtB,CAAC,wBAASb,OAAO,CAACa,IAAI,CAAC,EACvB;YACAZ,MAAM,CAACE,IAAI,CAAC,kBAAkB,EAAEY,aAAI,CAACC,OAAO,CAAC,oBAAKhB,OAAO,EAAE,MAAM,CAAC,EAAE;cAACiB,KAAK,EAAE;YAAI,CAAC,CAAC,CAAC;UACrF,CAAC,MAAM;YACLhB,MAAM,CAACE,IAAI,CAAC,kBAAkB,EAAEY,aAAI,CAACC,OAAO,CAAChB,OAAO,EAAE;cAACiB,KAAK,EAAE;YAAI,CAAC,CAAC,CAAC;UACvE;QACF,CAAC,CAAC,OAAOC,CAAC,EAAE;UACVjB,MAAM,CAACkB,IAAI,CAAC,sCAAsC,EAAED,CAAC,CAAC;QACxD;MACF;MAEA,OAAO,iBAAQE,OAAO,CAACpB,OAAO,CAAC;IACjC;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAA;IAAA,OAMA,wBAAeA,OAAO,EAAEqB,MAAM,EAAE;MAC9B;MACA;MACA,IAAI,CAACC,SAAS,CAACtB,OAAO,CAAC;MACvB,IAAMC,MAAM,GAAG,mBAAI,IAAI,EAAE,cAAc,EAAEC,OAAO,CAAC;MAEjDD,MAAM,CAACsB,KAAK,CAAC,kBAAkB,EAAEF,MAAM,CAACG,KAAK,CAAC;MAC9CvB,MAAM,CAACE,IAAI,CAAC,2EAA2E,CAAC;MAExF,OAAO,iBAAQsB,MAAM,CAACJ,MAAM,CAAC;IAC/B;EAAC;IAAA;IAAA;IA/DD;AACF;AACA;IACE,kBAAgB;MACd,OAAO,IAAItB,wBAAwB,CAAC;QAAC2B,KAAK,EAAE;MAAI,CAAC,CAAC;IACpD;EAAC;EAAA;AAAA,EANmDC,qBAAW;AAAA"}
@@ -1,50 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
-
5
4
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
6
-
7
5
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
8
-
9
6
  _Object$defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
-
13
9
  exports.default = void 0;
14
-
15
10
  var _now = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/date/now"));
16
-
17
11
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
18
-
19
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
20
-
21
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
22
-
23
14
  var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
24
-
25
15
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
26
-
27
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
28
-
29
17
  var _httpCore = require("@webex/http-core");
30
-
31
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); }; }
32
-
33
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; } }
34
-
35
20
  /**
36
21
  * @class
37
22
  */
38
23
  var RequestTimingInterceptor = /*#__PURE__*/function (_Interceptor) {
39
24
  (0, _inherits2.default)(RequestTimingInterceptor, _Interceptor);
40
-
41
25
  var _super = _createSuper(RequestTimingInterceptor);
42
-
43
26
  function RequestTimingInterceptor() {
44
27
  (0, _classCallCheck2.default)(this, RequestTimingInterceptor);
45
28
  return _super.apply(this, arguments);
46
29
  }
47
-
48
30
  (0, _createClass2.default)(RequestTimingInterceptor, [{
49
31
  key: "onRequest",
50
32
  value:
@@ -58,38 +40,38 @@ var RequestTimingInterceptor = /*#__PURE__*/function (_Interceptor) {
58
40
  options.$timings.requestStart = (0, _now.default)();
59
41
  return options;
60
42
  }
43
+
61
44
  /**
62
45
  * @see Interceptor#onRequestError
63
46
  * @param {Object} options
64
47
  * @returns {Object}
65
48
  */
66
-
67
49
  }, {
68
50
  key: "onRequestError",
69
51
  value: function onRequestError(options) {
70
52
  options.$timings.requestEnd = options.$timings.requestFail = (0, _now.default)();
71
53
  return _promise.default.reject(options);
72
54
  }
55
+
73
56
  /**
74
57
  * @see Interceptor#onResponse
75
58
  * @param {Object} options
76
59
  * @param {HttpResponse} response
77
60
  * @returns {Object}
78
61
  */
79
-
80
62
  }, {
81
63
  key: "onResponse",
82
64
  value: function onResponse(options, response) {
83
65
  options.$timings.requestEnd = (0, _now.default)();
84
66
  return _promise.default.resolve(response);
85
67
  }
68
+
86
69
  /**
87
70
  * @see Interceptor#onResponseError
88
71
  * @param {Object} options
89
72
  * @param {Error} reason
90
73
  * @returns {Object}
91
74
  */
92
-
93
75
  }, {
94
76
  key: "onResponseError",
95
77
  value: function onResponseError(options, reason) {
@@ -109,6 +91,5 @@ var RequestTimingInterceptor = /*#__PURE__*/function (_Interceptor) {
109
91
  }]);
110
92
  return RequestTimingInterceptor;
111
93
  }(_httpCore.Interceptor);
112
-
113
94
  exports.default = RequestTimingInterceptor;
114
95
  //# sourceMappingURL=request-timing.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RequestTimingInterceptor","options","$timings","requestStart","requestEnd","requestFail","reject","response","resolve","reason","Interceptor"],"sources":["request-timing.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Interceptor} from '@webex/http-core';\n\n/**\n * @class\n */\nexport default class RequestTimingInterceptor extends Interceptor {\n /**\n * @param {Object} options\n * @returns {RequestTimingInterceptor}\n */\n static create(options) {\n return new RequestTimingInterceptor(this, options);\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n options.$timings = options.$timings || {};\n options.$timings.requestStart = Date.now();\n\n return options;\n }\n\n /**\n * @see Interceptor#onRequestError\n * @param {Object} options\n * @returns {Object}\n */\n onRequestError(options) {\n options.$timings.requestEnd = options.$timings.requestFail = Date.now();\n\n return Promise.reject(options);\n }\n\n /**\n * @see Interceptor#onResponse\n * @param {Object} options\n * @param {HttpResponse} response\n * @returns {Object}\n */\n onResponse(options, response) {\n options.$timings.requestEnd = Date.now();\n\n return Promise.resolve(response);\n }\n\n /**\n * @see Interceptor#onResponseError\n * @param {Object} options\n * @param {Error} reason\n * @returns {Object}\n */\n onResponseError(options, reason) {\n options.$timings.requestEnd = options.$timings.requestFail = Date.now();\n\n return Promise.reject(reason);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;;;;;AAEA;AACA;AACA;IACqBA,wB;;;;;;;;;;;;;IASnB;AACF;AACA;AACA;AACA;IACE,mBAAUC,OAAV,EAAmB;MACjBA,OAAO,CAACC,QAAR,GAAmBD,OAAO,CAACC,QAAR,IAAoB,EAAvC;MACAD,OAAO,CAACC,QAAR,CAAiBC,YAAjB,GAAgC,mBAAhC;MAEA,OAAOF,OAAP;IACD;IAED;AACF;AACA;AACA;AACA;;;;WACE,wBAAeA,OAAf,EAAwB;MACtBA,OAAO,CAACC,QAAR,CAAiBE,UAAjB,GAA8BH,OAAO,CAACC,QAAR,CAAiBG,WAAjB,GAA+B,mBAA7D;MAEA,OAAO,iBAAQC,MAAR,CAAeL,OAAf,CAAP;IACD;IAED;AACF;AACA;AACA;AACA;AACA;;;;WACE,oBAAWA,OAAX,EAAoBM,QAApB,EAA8B;MAC5BN,OAAO,CAACC,QAAR,CAAiBE,UAAjB,GAA8B,mBAA9B;MAEA,OAAO,iBAAQI,OAAR,CAAgBD,QAAhB,CAAP;IACD;IAED;AACF;AACA;AACA;AACA;AACA;;;;WACE,yBAAgBN,OAAhB,EAAyBQ,MAAzB,EAAiC;MAC/BR,OAAO,CAACC,QAAR,CAAiBE,UAAjB,GAA8BH,OAAO,CAACC,QAAR,CAAiBG,WAAjB,GAA+B,mBAA7D;MAEA,OAAO,iBAAQC,MAAR,CAAeG,MAAf,CAAP;IACD;;;;IArDD;AACF;AACA;AACA;IACE,gBAAcR,OAAd,EAAuB;MACrB,OAAO,IAAID,wBAAJ,CAA6B,IAA7B,EAAmCC,OAAnC,CAAP;IACD;;;EAPmDS,qB"}
1
+ {"version":3,"names":["RequestTimingInterceptor","options","$timings","requestStart","requestEnd","requestFail","reject","response","resolve","reason","Interceptor"],"sources":["request-timing.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Interceptor} from '@webex/http-core';\n\n/**\n * @class\n */\nexport default class RequestTimingInterceptor extends Interceptor {\n /**\n * @param {Object} options\n * @returns {RequestTimingInterceptor}\n */\n static create(options) {\n return new RequestTimingInterceptor(this, options);\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n options.$timings = options.$timings || {};\n options.$timings.requestStart = Date.now();\n\n return options;\n }\n\n /**\n * @see Interceptor#onRequestError\n * @param {Object} options\n * @returns {Object}\n */\n onRequestError(options) {\n options.$timings.requestEnd = options.$timings.requestFail = Date.now();\n\n return Promise.reject(options);\n }\n\n /**\n * @see Interceptor#onResponse\n * @param {Object} options\n * @param {HttpResponse} response\n * @returns {Object}\n */\n onResponse(options, response) {\n options.$timings.requestEnd = Date.now();\n\n return Promise.resolve(response);\n }\n\n /**\n * @see Interceptor#onResponseError\n * @param {Object} options\n * @param {Error} reason\n * @returns {Object}\n */\n onResponseError(options, reason) {\n options.$timings.requestEnd = options.$timings.requestFail = Date.now();\n\n return Promise.reject(reason);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAIA;AAA6C;AAAA;AAE7C;AACA;AACA;AAFA,IAGqBA,wBAAwB;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAS3C;AACF;AACA;AACA;AACA;IACE,mBAAUC,OAAO,EAAE;MACjBA,OAAO,CAACC,QAAQ,GAAGD,OAAO,CAACC,QAAQ,IAAI,CAAC,CAAC;MACzCD,OAAO,CAACC,QAAQ,CAACC,YAAY,GAAG,mBAAU;MAE1C,OAAOF,OAAO;IAChB;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,wBAAeA,OAAO,EAAE;MACtBA,OAAO,CAACC,QAAQ,CAACE,UAAU,GAAGH,OAAO,CAACC,QAAQ,CAACG,WAAW,GAAG,mBAAU;MAEvE,OAAO,iBAAQC,MAAM,CAACL,OAAO,CAAC;IAChC;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAA;IAAA,OAMA,oBAAWA,OAAO,EAAEM,QAAQ,EAAE;MAC5BN,OAAO,CAACC,QAAQ,CAACE,UAAU,GAAG,mBAAU;MAExC,OAAO,iBAAQI,OAAO,CAACD,QAAQ,CAAC;IAClC;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAA;IAAA,OAMA,yBAAgBN,OAAO,EAAEQ,MAAM,EAAE;MAC/BR,OAAO,CAACC,QAAQ,CAACE,UAAU,GAAGH,OAAO,CAACC,QAAQ,CAACG,WAAW,GAAG,mBAAU;MAEvE,OAAO,iBAAQC,MAAM,CAACG,MAAM,CAAC;IAC/B;EAAC;IAAA;IAAA;IArDD;AACF;AACA;AACA;IACE,gBAAcR,OAAO,EAAE;MACrB,OAAO,IAAID,wBAAwB,CAAC,IAAI,EAAEC,OAAO,CAAC;IACpD;EAAC;EAAA;AAAA,EAPmDS,qBAAW;AAAA"}
@@ -1,58 +1,36 @@
1
1
  "use strict";
2
2
 
3
3
  var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
-
5
4
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
6
-
7
5
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
8
-
9
6
  _Object$defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
-
13
9
  exports.default = void 0;
14
-
15
10
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
16
-
17
11
  var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/typeof"));
18
-
19
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
20
-
21
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
22
-
23
14
  var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
24
-
25
15
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
26
-
27
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
28
-
29
17
  var _omit2 = _interopRequireDefault(require("lodash/omit"));
30
-
31
18
  var _get2 = _interopRequireDefault(require("lodash/get"));
32
-
33
19
  var _util = _interopRequireDefault(require("util"));
34
-
35
20
  var _httpCore = require("@webex/http-core");
36
-
37
21
  var _common = require("@webex/common");
38
-
39
22
  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); }; }
40
-
41
23
  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; } }
42
-
43
24
  /**
44
25
  * @class
45
26
  */
46
27
  var ResponseLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
47
28
  (0, _inherits2.default)(ResponseLoggerInterceptor, _Interceptor);
48
-
49
29
  var _super = _createSuper(ResponseLoggerInterceptor);
50
-
51
30
  function ResponseLoggerInterceptor() {
52
31
  (0, _classCallCheck2.default)(this, ResponseLoggerInterceptor);
53
32
  return _super.apply(this, arguments);
54
33
  }
55
-
56
34
  (0, _createClass2.default)(ResponseLoggerInterceptor, [{
57
35
  key: "onResponse",
58
36
  value:
@@ -66,10 +44,8 @@ var ResponseLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
66
44
  var now = new Date();
67
45
  this.printResponseHeader(options, response);
68
46
  var logger = (0, _get2.default)(this, 'webex.logger', console);
69
-
70
47
  if (process.env.ENABLE_VERBOSE_NETWORK_LOGGING) {
71
48
  logger.info('timestamp (end): ', now.getTime(), now.toISOString());
72
-
73
49
  if (typeof response.body === 'string' || (0, _common.isBuffer)(response.body)) {
74
50
  logger.info('Response: ', 'Not printed, it`s probably a file');
75
51
  } else if ((0, _typeof2.default)(response.body) === 'object') {
@@ -82,27 +58,24 @@ var ResponseLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
82
58
  }
83
59
  }
84
60
  }
85
-
86
61
  logger.info('\\**********************************************************************/');
87
62
  return response;
88
63
  }
64
+
89
65
  /**
90
66
  * @see Interceptor#onRequest
91
67
  * @param {Object} options
92
68
  * @param {Object} reason
93
69
  * @returns {Object}
94
70
  */
95
-
96
71
  }, {
97
72
  key: "onResponseError",
98
73
  value: function onResponseError(options, reason) {
99
74
  var now = new Date();
100
75
  this.printResponseHeader(options, reason);
101
76
  var logger = (0, _get2.default)(this, 'webex.logger', console);
102
-
103
77
  if (process.env.ENABLE_VERBOSE_NETWORK_LOGGING) {
104
78
  logger.info('timestamp (end): ', now.getTime(), now.toISOString());
105
-
106
79
  try {
107
80
  logger.error('Response: ', _util.default.inspect(reason.body, {
108
81
  depth: null
@@ -111,17 +84,16 @@ var ResponseLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
111
84
  logger.error('Response: ', reason.body);
112
85
  }
113
86
  }
114
-
115
87
  logger.info('\\**********************************************************************/');
116
88
  return _promise.default.reject(reason);
117
89
  }
90
+
118
91
  /**
119
92
  * Prints the basic header
120
93
  * @param {Object} options
121
94
  * @param {HttpResponse|WebexHttpError} response
122
95
  * @returns {undefined}
123
96
  */
124
-
125
97
  }, {
126
98
  key: "printResponseHeader",
127
99
  value: function printResponseHeader(options, response) {
@@ -145,6 +117,5 @@ var ResponseLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
145
117
  }]);
146
118
  return ResponseLoggerInterceptor;
147
119
  }(_httpCore.Interceptor);
148
-
149
120
  exports.default = ResponseLoggerInterceptor;
150
121
  //# sourceMappingURL=response-logger.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ResponseLoggerInterceptor","options","response","now","Date","printResponseHeader","logger","console","process","env","ENABLE_VERBOSE_NETWORK_LOGGING","info","getTime","toISOString","body","isBuffer","util","inspect","depth","err","reason","error","reject","statusCode","$timings","networkEnd","networkStart","requestEnd","requestStart","webex","Interceptor"],"sources":["response-logger.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport util from 'util';\n\nimport {get, omit} from 'lodash';\nimport {Interceptor} from '@webex/http-core';\nimport {isBuffer} from '@webex/common';\n\n/**\n * @class\n */\nexport default class ResponseLoggerInterceptor extends Interceptor {\n /**\n * @returns {ResponseLoggerInterceptor}\n */\n static create() {\n return new ResponseLoggerInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @param {HttpResponse} response\n * @returns {Object}\n */\n onResponse(options, response) {\n const now = new Date();\n\n this.printResponseHeader(options, response);\n\n const logger = get(this, 'webex.logger', console);\n\n if (process.env.ENABLE_VERBOSE_NETWORK_LOGGING) {\n logger.info('timestamp (end): ', now.getTime(), now.toISOString());\n if (typeof response.body === 'string' || isBuffer(response.body)) {\n logger.info('Response: ', 'Not printed, it`s probably a file');\n }\n else if (typeof response.body === 'object') {\n try {\n logger.info('Response: ', util.inspect(omit(response.body, 'features'), {depth: null}));\n }\n catch (err) {\n logger.info('Response: ', '[Not Serializable]', err);\n }\n }\n }\n logger.info('\\\\**********************************************************************/');\n\n return response;\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @param {Object} reason\n * @returns {Object}\n */\n onResponseError(options, reason) {\n const now = new Date();\n\n this.printResponseHeader(options, reason);\n\n const logger = get(this, 'webex.logger', console);\n\n if (process.env.ENABLE_VERBOSE_NETWORK_LOGGING) {\n logger.info('timestamp (end): ', now.getTime(), now.toISOString());\n try {\n logger.error('Response: ', util.inspect(reason.body, {depth: null}));\n }\n catch (err) {\n logger.error('Response: ', reason.body);\n }\n }\n logger.info('\\\\**********************************************************************/');\n\n return Promise.reject(reason);\n }\n\n /**\n * Prints the basic header\n * @param {Object} options\n * @param {HttpResponse|WebexHttpError} response\n * @returns {undefined}\n */\n printResponseHeader(options, response) {\n const logger = get(this, 'webex.logger', console);\n\n logger.info('Status Code:', response.statusCode);\n logger.info('WEBEX_TRACKINGID:', get(options, 'headers.trackingid') || get(response, 'headers.trackingid'));\n logger.info('Network duration:', options.$timings.networkEnd - options.$timings.networkStart);\n logger.info('Processing duration:', options.$timings.requestEnd - options.$timings.requestStart);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAGA;;AACA;;;;;;AAEA;AACA;AACA;IACqBA,yB;;;;;;;;;;;;;IAQnB;AACF;AACA;AACA;AACA;AACA;IACE,oBAAWC,OAAX,EAAoBC,QAApB,EAA8B;MAC5B,IAAMC,GAAG,GAAG,IAAIC,IAAJ,EAAZ;MAEA,KAAKC,mBAAL,CAAyBJ,OAAzB,EAAkCC,QAAlC;MAEA,IAAMI,MAAM,GAAG,mBAAI,IAAJ,EAAU,cAAV,EAA0BC,OAA1B,CAAf;;MAEA,IAAIC,OAAO,CAACC,GAAR,CAAYC,8BAAhB,EAAgD;QAC9CJ,MAAM,CAACK,IAAP,CAAY,mBAAZ,EAAiCR,GAAG,CAACS,OAAJ,EAAjC,EAAgDT,GAAG,CAACU,WAAJ,EAAhD;;QACA,IAAI,OAAOX,QAAQ,CAACY,IAAhB,KAAyB,QAAzB,IAAqC,IAAAC,gBAAA,EAASb,QAAQ,CAACY,IAAlB,CAAzC,EAAkE;UAChER,MAAM,CAACK,IAAP,CAAY,YAAZ,EAA0B,mCAA1B;QACD,CAFD,MAGK,IAAI,sBAAOT,QAAQ,CAACY,IAAhB,MAAyB,QAA7B,EAAuC;UAC1C,IAAI;YACFR,MAAM,CAACK,IAAP,CAAY,YAAZ,EAA0BK,aAAA,CAAKC,OAAL,CAAa,oBAAKf,QAAQ,CAACY,IAAd,EAAoB,UAApB,CAAb,EAA8C;cAACI,KAAK,EAAE;YAAR,CAA9C,CAA1B;UACD,CAFD,CAGA,OAAOC,GAAP,EAAY;YACVb,MAAM,CAACK,IAAP,CAAY,YAAZ,EAA0B,oBAA1B,EAAgDQ,GAAhD;UACD;QACF;MACF;;MACDb,MAAM,CAACK,IAAP,CAAY,2EAAZ;MAEA,OAAOT,QAAP;IACD;IAED;AACF;AACA;AACA;AACA;AACA;;;;WACE,yBAAgBD,OAAhB,EAAyBmB,MAAzB,EAAiC;MAC/B,IAAMjB,GAAG,GAAG,IAAIC,IAAJ,EAAZ;MAEA,KAAKC,mBAAL,CAAyBJ,OAAzB,EAAkCmB,MAAlC;MAEA,IAAMd,MAAM,GAAG,mBAAI,IAAJ,EAAU,cAAV,EAA0BC,OAA1B,CAAf;;MAEA,IAAIC,OAAO,CAACC,GAAR,CAAYC,8BAAhB,EAAgD;QAC9CJ,MAAM,CAACK,IAAP,CAAY,mBAAZ,EAAiCR,GAAG,CAACS,OAAJ,EAAjC,EAAgDT,GAAG,CAACU,WAAJ,EAAhD;;QACA,IAAI;UACFP,MAAM,CAACe,KAAP,CAAa,YAAb,EAA2BL,aAAA,CAAKC,OAAL,CAAaG,MAAM,CAACN,IAApB,EAA0B;YAACI,KAAK,EAAE;UAAR,CAA1B,CAA3B;QACD,CAFD,CAGA,OAAOC,GAAP,EAAY;UACVb,MAAM,CAACe,KAAP,CAAa,YAAb,EAA2BD,MAAM,CAACN,IAAlC;QACD;MACF;;MACDR,MAAM,CAACK,IAAP,CAAY,2EAAZ;MAEA,OAAO,iBAAQW,MAAR,CAAeF,MAAf,CAAP;IACD;IAED;AACF;AACA;AACA;AACA;AACA;;;;WACE,6BAAoBnB,OAApB,EAA6BC,QAA7B,EAAuC;MACrC,IAAMI,MAAM,GAAG,mBAAI,IAAJ,EAAU,cAAV,EAA0BC,OAA1B,CAAf;MAEAD,MAAM,CAACK,IAAP,CAAY,cAAZ,EAA4BT,QAAQ,CAACqB,UAArC;MACAjB,MAAM,CAACK,IAAP,CAAY,mBAAZ,EAAiC,mBAAIV,OAAJ,EAAa,oBAAb,KAAsC,mBAAIC,QAAJ,EAAc,oBAAd,CAAvE;MACAI,MAAM,CAACK,IAAP,CAAY,mBAAZ,EAAiCV,OAAO,CAACuB,QAAR,CAAiBC,UAAjB,GAA8BxB,OAAO,CAACuB,QAAR,CAAiBE,YAAhF;MACApB,MAAM,CAACK,IAAP,CAAY,sBAAZ,EAAoCV,OAAO,CAACuB,QAAR,CAAiBG,UAAjB,GAA8B1B,OAAO,CAACuB,QAAR,CAAiBI,YAAnF;IACD;;;;IA/ED;AACF;AACA;IACE,kBAAgB;MACd,OAAO,IAAI5B,yBAAJ,CAA8B;QAAC6B,KAAK,EAAE;MAAR,CAA9B,CAAP;IACD;;;EANoDC,qB"}
1
+ {"version":3,"names":["ResponseLoggerInterceptor","options","response","now","Date","printResponseHeader","logger","console","process","env","ENABLE_VERBOSE_NETWORK_LOGGING","info","getTime","toISOString","body","isBuffer","util","inspect","depth","err","reason","error","reject","statusCode","$timings","networkEnd","networkStart","requestEnd","requestStart","webex","Interceptor"],"sources":["response-logger.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport util from 'util';\n\nimport {get, omit} from 'lodash';\nimport {Interceptor} from '@webex/http-core';\nimport {isBuffer} from '@webex/common';\n\n/**\n * @class\n */\nexport default class ResponseLoggerInterceptor extends Interceptor {\n /**\n * @returns {ResponseLoggerInterceptor}\n */\n static create() {\n return new ResponseLoggerInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @param {HttpResponse} response\n * @returns {Object}\n */\n onResponse(options, response) {\n const now = new Date();\n\n this.printResponseHeader(options, response);\n\n const logger = get(this, 'webex.logger', console);\n\n if (process.env.ENABLE_VERBOSE_NETWORK_LOGGING) {\n logger.info('timestamp (end): ', now.getTime(), now.toISOString());\n if (typeof response.body === 'string' || isBuffer(response.body)) {\n logger.info('Response: ', 'Not printed, it`s probably a file');\n } else if (typeof response.body === 'object') {\n try {\n logger.info('Response: ', util.inspect(omit(response.body, 'features'), {depth: null}));\n } catch (err) {\n logger.info('Response: ', '[Not Serializable]', err);\n }\n }\n }\n logger.info('\\\\**********************************************************************/');\n\n return response;\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @param {Object} reason\n * @returns {Object}\n */\n onResponseError(options, reason) {\n const now = new Date();\n\n this.printResponseHeader(options, reason);\n\n const logger = get(this, 'webex.logger', console);\n\n if (process.env.ENABLE_VERBOSE_NETWORK_LOGGING) {\n logger.info('timestamp (end): ', now.getTime(), now.toISOString());\n try {\n logger.error('Response: ', util.inspect(reason.body, {depth: null}));\n } catch (err) {\n logger.error('Response: ', reason.body);\n }\n }\n logger.info('\\\\**********************************************************************/');\n\n return Promise.reject(reason);\n }\n\n /**\n * Prints the basic header\n * @param {Object} options\n * @param {HttpResponse|WebexHttpError} response\n * @returns {undefined}\n */\n printResponseHeader(options, response) {\n const logger = get(this, 'webex.logger', console);\n\n logger.info('Status Code:', response.statusCode);\n logger.info(\n 'WEBEX_TRACKINGID:',\n get(options, 'headers.trackingid') || get(response, 'headers.trackingid')\n );\n logger.info('Network duration:', options.$timings.networkEnd - options.$timings.networkStart);\n logger.info(\n 'Processing duration:',\n options.$timings.requestEnd - options.$timings.requestStart\n );\n }\n}\n"],"mappings":"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"}
@@ -1,42 +1,26 @@
1
1
  "use strict";
2
2
 
3
3
  var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
-
5
4
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
6
-
7
5
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
8
-
9
6
  _Object$defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
-
13
9
  exports.default = void 0;
14
-
15
10
  var _weakMap = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/weak-map"));
16
-
17
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
18
-
19
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
20
-
21
13
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
22
-
23
14
  var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
24
-
25
15
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
26
-
27
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
28
-
29
17
  var _get2 = _interopRequireDefault(require("lodash/get"));
30
-
31
18
  var _common = require("@webex/common");
32
-
33
19
  var _httpCore = require("@webex/http-core");
34
-
35
20
  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); }; }
36
-
37
21
  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; } }
38
-
39
22
  var strings = new _weakMap.default();
23
+
40
24
  /**
41
25
  * Sets a 'user-agent' header on all requests if one is not present.
42
26
  * Defaults to '@webex/http-core' though a custom user-agent can be set
@@ -56,12 +40,9 @@ var strings = new _weakMap.default();
56
40
  * }
57
41
  * });
58
42
  */
59
-
60
43
  var UserAgentInterceptor = /*#__PURE__*/function (_Interceptor) {
61
44
  (0, _inherits2.default)(UserAgentInterceptor, _Interceptor);
62
-
63
45
  var _super = _createSuper(UserAgentInterceptor);
64
-
65
46
  /**
66
47
  * @param {Object} [options={}]
67
48
  * @param {WebexCore} [options.webex]
@@ -70,26 +51,22 @@ var UserAgentInterceptor = /*#__PURE__*/function (_Interceptor) {
70
51
  */
71
52
  function UserAgentInterceptor() {
72
53
  var _this;
73
-
74
54
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
75
55
  (0, _classCallCheck2.default)(this, UserAgentInterceptor);
76
56
  var appName = (0, _get2.default)(options, 'webex.config.appName');
77
57
  var appVersion = (0, _get2.default)(options, 'webex.config.appVersion') || '0.0';
78
58
  _this = _super.call(this, options);
79
-
80
59
  if (appName) {
81
60
  strings.set((0, _assertThisInitialized2.default)(_this), "".concat(appName, "/").concat(appVersion));
82
61
  } else {
83
62
  strings.set((0, _assertThisInitialized2.default)(_this), '@webex/http-core'); // Using the traditional default from http-core
84
63
  }
85
-
86
64
  return _this;
87
65
  }
66
+
88
67
  /**
89
68
  * @returns {UserAgentInterceptor}
90
69
  */
91
-
92
-
93
70
  (0, _createClass2.default)(UserAgentInterceptor, [{
94
71
  key: "onRequest",
95
72
  value:
@@ -103,13 +80,10 @@ var UserAgentInterceptor = /*#__PURE__*/function (_Interceptor) {
103
80
  if (_common.inBrowser) {
104
81
  return options;
105
82
  }
106
-
107
83
  options.headers = options.headers || {};
108
-
109
84
  if ('user-agent' in options.headers && options.headers['spark-user-agent']) {
110
85
  return options;
111
86
  }
112
-
113
87
  options.headers['user-agent'] = strings.get(this);
114
88
  return options;
115
89
  }
@@ -123,6 +97,5 @@ var UserAgentInterceptor = /*#__PURE__*/function (_Interceptor) {
123
97
  }]);
124
98
  return UserAgentInterceptor;
125
99
  }(_httpCore.Interceptor);
126
-
127
100
  exports.default = UserAgentInterceptor;
128
101
  //# sourceMappingURL=user-agent.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["strings","UserAgentInterceptor","options","appName","appVersion","set","inBrowser","headers","get","webex","Interceptor"],"sources":["user-agent.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {inBrowser} from '@webex/common';\nimport {Interceptor} from '@webex/http-core';\nimport {get} from 'lodash';\n\nconst strings = new WeakMap();\n\n/**\n * Sets a 'user-agent' header on all requests if one is not present.\n * Defaults to '@webex/http-core' though a custom user-agent can be set\n * using the appName and appVersion configuration. e.g.\n *\n * webex = WebexSdk.init({\n * credentials: {\n * supertoken: superToken\n * },\n * config: {\n * credentials: {\n * client_id,\n * client_secret\n * },\n * appName: 'custom-user-agent',\n * appVersion: '1.0',\n * }\n * });\n */\nexport default class UserAgentInterceptor extends Interceptor {\n /**\n * @param {Object} [options={}]\n * @param {WebexCore} [options.webex]\n * @private\n * @returns {UserAgentInterceptor}\n */\n constructor(options = {}) {\n const appName = get(options, 'webex.config.appName');\n const appVersion = get(options, 'webex.config.appVersion') || '0.0';\n\n super(options);\n if (appName) {\n strings.set(this, `${appName}/${appVersion}`);\n }\n else {\n strings.set(this, '@webex/http-core'); // Using the traditional default from http-core\n }\n }\n\n /**\n * @returns {UserAgentInterceptor}\n */\n static create() {\n return new UserAgentInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n // Do not set a custom user-agent for browsers\n if (inBrowser) {\n return options;\n }\n\n options.headers = options.headers || {};\n\n if ('user-agent' in options.headers && options.headers['spark-user-agent']) {\n return options;\n }\n\n options.headers['user-agent'] = strings.get(this);\n\n return options;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AACA;;;;;;AAGA,IAAMA,OAAO,GAAG,sBAAhB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACqBC,oB;;;;;EACnB;AACF;AACA;AACA;AACA;AACA;EACE,gCAA0B;IAAA;;IAAA,IAAdC,OAAc,uEAAJ,EAAI;IAAA;IACxB,IAAMC,OAAO,GAAG,mBAAID,OAAJ,EAAa,sBAAb,CAAhB;IACA,IAAME,UAAU,GAAG,mBAAIF,OAAJ,EAAa,yBAAb,KAA2C,KAA9D;IAEA,0BAAMA,OAAN;;IACA,IAAIC,OAAJ,EAAa;MACXH,OAAO,CAACK,GAAR,wDAAqBF,OAArB,cAAgCC,UAAhC;IACD,CAFD,MAGK;MACHJ,OAAO,CAACK,GAAR,8CAAkB,kBAAlB,EADG,CACoC;IACxC;;IAVuB;EAWzB;EAED;AACF;AACA;;;;;;IAKE;AACF;AACA;AACA;AACA;IACE,mBAAUH,OAAV,EAAmB;MACjB;MACA,IAAII,iBAAJ,EAAe;QACb,OAAOJ,OAAP;MACD;;MAEDA,OAAO,CAACK,OAAR,GAAkBL,OAAO,CAACK,OAAR,IAAmB,EAArC;;MAEA,IAAI,gBAAgBL,OAAO,CAACK,OAAxB,IAAmCL,OAAO,CAACK,OAAR,CAAgB,kBAAhB,CAAvC,EAA4E;QAC1E,OAAOL,OAAP;MACD;;MAEDA,OAAO,CAACK,OAAR,CAAgB,YAAhB,IAAgCP,OAAO,CAACQ,GAAR,CAAY,IAAZ,CAAhC;MAEA,OAAON,OAAP;IACD;;;WAxBD,kBAAgB;MACd,OAAO,IAAID,oBAAJ,CAAyB;QAACQ,KAAK,EAAE;MAAR,CAAzB,CAAP;IACD;;;EAzB+CC,qB"}
1
+ {"version":3,"names":["strings","UserAgentInterceptor","options","appName","appVersion","set","inBrowser","headers","get","webex","Interceptor"],"sources":["user-agent.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {inBrowser} from '@webex/common';\nimport {Interceptor} from '@webex/http-core';\nimport {get} from 'lodash';\n\nconst strings = new WeakMap();\n\n/**\n * Sets a 'user-agent' header on all requests if one is not present.\n * Defaults to '@webex/http-core' though a custom user-agent can be set\n * using the appName and appVersion configuration. e.g.\n *\n * webex = WebexSdk.init({\n * credentials: {\n * supertoken: superToken\n * },\n * config: {\n * credentials: {\n * client_id,\n * client_secret\n * },\n * appName: 'custom-user-agent',\n * appVersion: '1.0',\n * }\n * });\n */\nexport default class UserAgentInterceptor extends Interceptor {\n /**\n * @param {Object} [options={}]\n * @param {WebexCore} [options.webex]\n * @private\n * @returns {UserAgentInterceptor}\n */\n constructor(options = {}) {\n const appName = get(options, 'webex.config.appName');\n const appVersion = get(options, 'webex.config.appVersion') || '0.0';\n\n super(options);\n if (appName) {\n strings.set(this, `${appName}/${appVersion}`);\n } else {\n strings.set(this, '@webex/http-core'); // Using the traditional default from http-core\n }\n }\n\n /**\n * @returns {UserAgentInterceptor}\n */\n static create() {\n return new UserAgentInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n // Do not set a custom user-agent for browsers\n if (inBrowser) {\n return options;\n }\n\n options.headers = options.headers || {};\n\n if ('user-agent' in options.headers && options.headers['spark-user-agent']) {\n return options;\n }\n\n options.headers['user-agent'] = strings.get(this);\n\n return options;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAIA;AACA;AAA6C;AAAA;AAG7C,IAAMA,OAAO,GAAG,sBAAa;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlBA,IAmBqBC,oBAAoB;EAAA;EAAA;EACvC;AACF;AACA;AACA;AACA;AACA;EACE,gCAA0B;IAAA;IAAA,IAAdC,OAAO,uEAAG,CAAC,CAAC;IAAA;IACtB,IAAMC,OAAO,GAAG,mBAAID,OAAO,EAAE,sBAAsB,CAAC;IACpD,IAAME,UAAU,GAAG,mBAAIF,OAAO,EAAE,yBAAyB,CAAC,IAAI,KAAK;IAEnE,0BAAMA,OAAO;IACb,IAAIC,OAAO,EAAE;MACXH,OAAO,CAACK,GAAG,wDAAUF,OAAO,cAAIC,UAAU,EAAG;IAC/C,CAAC,MAAM;MACLJ,OAAO,CAACK,GAAG,8CAAO,kBAAkB,CAAC,CAAC,CAAC;IACzC;IAAC;EACH;;EAEA;AACF;AACA;EAFE;IAAA;IAAA;IAOA;AACF;AACA;AACA;AACA;IACE,mBAAUH,OAAO,EAAE;MACjB;MACA,IAAII,iBAAS,EAAE;QACb,OAAOJ,OAAO;MAChB;MAEAA,OAAO,CAACK,OAAO,GAAGL,OAAO,CAACK,OAAO,IAAI,CAAC,CAAC;MAEvC,IAAI,YAAY,IAAIL,OAAO,CAACK,OAAO,IAAIL,OAAO,CAACK,OAAO,CAAC,kBAAkB,CAAC,EAAE;QAC1E,OAAOL,OAAO;MAChB;MAEAA,OAAO,CAACK,OAAO,CAAC,YAAY,CAAC,GAAGP,OAAO,CAACQ,GAAG,CAAC,IAAI,CAAC;MAEjD,OAAON,OAAO;IAChB;EAAC;IAAA;IAAA,OAxBD,kBAAgB;MACd,OAAO,IAAID,oBAAoB,CAAC;QAACQ,KAAK,EAAE;MAAI,CAAC,CAAC;IAChD;EAAC;EAAA;AAAA,EAxB+CC,qBAAW;AAAA"}