apitally 0.2.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +5 -9
  2. package/lib/cjs/common/client.cjs +19 -98
  3. package/lib/cjs/common/client.cjs.map +1 -1
  4. package/lib/cjs/common/serverErrorCounter.cjs +104 -0
  5. package/lib/cjs/common/serverErrorCounter.cjs.map +1 -0
  6. package/lib/cjs/common/validationErrorCounter.cjs +26 -23
  7. package/lib/cjs/common/validationErrorCounter.cjs.map +1 -1
  8. package/lib/cjs/express/index.cjs +0 -14
  9. package/lib/cjs/express/index.cjs.map +1 -1
  10. package/lib/cjs/express/middleware.cjs +26 -12
  11. package/lib/cjs/express/middleware.cjs.map +1 -1
  12. package/lib/cjs/fastify/index.cjs +0 -14
  13. package/lib/cjs/fastify/index.cjs.map +1 -1
  14. package/lib/cjs/fastify/plugin.cjs +20 -11
  15. package/lib/cjs/fastify/plugin.cjs.map +1 -1
  16. package/lib/cjs/koa/index.cjs +0 -14
  17. package/lib/cjs/koa/index.cjs.map +1 -1
  18. package/lib/cjs/koa/middleware.cjs +33 -24
  19. package/lib/cjs/koa/middleware.cjs.map +1 -1
  20. package/lib/cjs/nestjs/index.cjs +0 -26
  21. package/lib/cjs/nestjs/index.cjs.map +1 -1
  22. package/lib/esm/common/client.js +19 -98
  23. package/lib/esm/common/client.js.map +1 -1
  24. package/lib/esm/common/serverErrorCounter.js +98 -0
  25. package/lib/esm/common/serverErrorCounter.js.map +1 -0
  26. package/lib/esm/common/validationErrorCounter.js +26 -23
  27. package/lib/esm/common/validationErrorCounter.js.map +1 -1
  28. package/lib/esm/express/index.js +1 -4
  29. package/lib/esm/express/index.js.map +1 -1
  30. package/lib/esm/express/middleware.js +26 -12
  31. package/lib/esm/express/middleware.js.map +1 -1
  32. package/lib/esm/fastify/index.js +1 -4
  33. package/lib/esm/fastify/index.js.map +1 -1
  34. package/lib/esm/fastify/plugin.js +20 -11
  35. package/lib/esm/fastify/plugin.js.map +1 -1
  36. package/lib/esm/koa/index.js +1 -4
  37. package/lib/esm/koa/index.js.map +1 -1
  38. package/lib/esm/koa/middleware.js +33 -24
  39. package/lib/esm/koa/middleware.js.map +1 -1
  40. package/lib/esm/nestjs/index.js +1 -4
  41. package/lib/esm/nestjs/index.js.map +1 -1
  42. package/lib/types/common/client.d.ts +3 -9
  43. package/lib/types/common/client.d.ts.map +1 -1
  44. package/lib/types/common/serverErrorCounter.d.ts +12 -0
  45. package/lib/types/common/serverErrorCounter.d.ts.map +1 -0
  46. package/lib/types/common/types.d.ts +12 -4
  47. package/lib/types/common/types.d.ts.map +1 -1
  48. package/lib/types/common/validationErrorCounter.d.ts +2 -1
  49. package/lib/types/common/validationErrorCounter.d.ts.map +1 -1
  50. package/lib/types/express/index.d.ts +0 -2
  51. package/lib/types/express/index.d.ts.map +1 -1
  52. package/lib/types/express/middleware.d.ts +0 -2
  53. package/lib/types/express/middleware.d.ts.map +1 -1
  54. package/lib/types/fastify/index.d.ts +0 -2
  55. package/lib/types/fastify/index.d.ts.map +1 -1
  56. package/lib/types/fastify/plugin.d.ts +2 -3
  57. package/lib/types/fastify/plugin.d.ts.map +1 -1
  58. package/lib/types/koa/index.d.ts +0 -2
  59. package/lib/types/koa/index.d.ts.map +1 -1
  60. package/lib/types/koa/middleware.d.ts.map +1 -1
  61. package/lib/types/nestjs/index.d.ts +0 -2
  62. package/lib/types/nestjs/index.d.ts.map +1 -1
  63. package/package.json +2 -4
  64. package/lib/cjs/common/index.cjs +0 -13
  65. package/lib/cjs/common/index.cjs.map +0 -1
  66. package/lib/cjs/common/keyRegistry.cjs +0 -162
  67. package/lib/cjs/common/keyRegistry.cjs.map +0 -1
  68. package/lib/cjs/express/auth.cjs +0 -105
  69. package/lib/cjs/express/auth.cjs.map +0 -1
  70. package/lib/cjs/fastify/auth.cjs +0 -105
  71. package/lib/cjs/fastify/auth.cjs.map +0 -1
  72. package/lib/cjs/koa/auth.cjs +0 -113
  73. package/lib/cjs/koa/auth.cjs.map +0 -1
  74. package/lib/cjs/nestjs/auth.cjs +0 -132
  75. package/lib/cjs/nestjs/auth.cjs.map +0 -1
  76. package/lib/esm/common/index.js +0 -1
  77. package/lib/esm/common/index.js.map +0 -1
  78. package/lib/esm/common/keyRegistry.js +0 -155
  79. package/lib/esm/common/keyRegistry.js.map +0 -1
  80. package/lib/esm/express/auth.js +0 -98
  81. package/lib/esm/express/auth.js.map +0 -1
  82. package/lib/esm/fastify/auth.js +0 -98
  83. package/lib/esm/fastify/auth.js.map +0 -1
  84. package/lib/esm/koa/auth.js +0 -106
  85. package/lib/esm/koa/auth.js.map +0 -1
  86. package/lib/esm/nestjs/auth.js +0 -126
  87. package/lib/esm/nestjs/auth.js.map +0 -1
  88. package/lib/types/common/index.d.ts +0 -2
  89. package/lib/types/common/index.d.ts.map +0 -1
  90. package/lib/types/common/keyRegistry.d.ts +0 -29
  91. package/lib/types/common/keyRegistry.d.ts.map +0 -1
  92. package/lib/types/express/auth.d.ts +0 -6
  93. package/lib/types/express/auth.d.ts.map +0 -1
  94. package/lib/types/fastify/auth.d.ts +0 -6
  95. package/lib/types/fastify/auth.d.ts.map +0 -1
  96. package/lib/types/koa/auth.d.ts +0 -6
  97. package/lib/types/koa/auth.d.ts.map +0 -1
  98. package/lib/types/nestjs/auth.d.ts +0 -12
  99. package/lib/types/nestjs/auth.d.ts.map +0 -1
package/README.md CHANGED
@@ -6,9 +6,9 @@
6
6
  </picture>
7
7
  </p>
8
8
 
9
- <p align="center"><b>Your refreshingly simple REST API companion.</b></p>
9
+ <p align="center"><b>API monitoring made easy.</b></p>
10
10
 
11
- <p align="center"><i>Apitally is a simple and affordable API monitoring and API key management solution with a focus on data privacy. It is easy to set up and use for new and existing API projects using Python or Node.js.</i></p>
11
+ <p align="center"><i>Apitally is a simple and affordable API monitoring tool with a focus on data privacy.<br>It is super easy to use for API projects in Python or Node.js and never collects sensitive data.</i></p>
12
12
 
13
13
  <p align="center">🔗 <b><a href="https://apitally.io" target="_blank">apitally.io</a></b></p>
14
14
 
@@ -37,10 +37,7 @@ the 📚 [documentation](https://docs.apitally.io).
37
37
 
38
38
  - Middleware/plugins for different frameworks to capture metadata about API
39
39
  endpoints, requests and responses (no sensitive data is captured)
40
- - Non-blocking client that aggregates and sends captured data to Apitally and
41
- optionally synchronizes API key hashes in 1 minute intervals
42
- - Functions to easily secure endpoints with API key authentication and
43
- permission checks
40
+ - Non-blocking client that aggregates and sends captured data to Apitally in regular intervals
44
41
 
45
42
  ## Installation
46
43
 
@@ -157,9 +154,8 @@ useApitally(app, {
157
154
 
158
155
  ## Getting help
159
156
 
160
- If you need help please
161
- [create a new discussion](https://github.com/orgs/apitally/discussions/categories/q-a)
162
- on GitHub.
157
+ If you need help please [create a new discussion](https://github.com/orgs/apitally/discussions/categories/q-a) on GitHub
158
+ or [join our Slack workspace](https://join.slack.com/t/apitally-community/shared_invite/zt-2b3xxqhdu-9RMq2HyZbR79wtzNLoGHrg).
163
159
 
164
160
  ## License
165
161
 
@@ -15,10 +15,10 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
15
15
  var _axios = _interopRequireWildcard(require("axios"));
16
16
  var _axiosRetry = _interopRequireDefault(require("axios-retry"));
17
17
  var _crypto = require("crypto");
18
- var _keyRegistry = require("./keyRegistry.cjs");
19
18
  var _logging = require("./logging.cjs");
20
19
  var _paramValidation = require("./paramValidation.cjs");
21
20
  var _requestCounter = _interopRequireDefault(require("./requestCounter.cjs"));
21
+ var _serverErrorCounter = _interopRequireDefault(require("./serverErrorCounter.cjs"));
22
22
  var _validationErrorCounter = _interopRequireDefault(require("./validationErrorCounter.cjs"));
23
23
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
24
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
@@ -34,26 +34,19 @@ var ApitallyClient = exports.ApitallyClient = /*#__PURE__*/function () {
34
34
  var clientId = _ref.clientId,
35
35
  _ref$env = _ref.env,
36
36
  env = _ref$env === void 0 ? "dev" : _ref$env,
37
- _ref$syncApiKeys = _ref.syncApiKeys,
38
- syncApiKeys = _ref$syncApiKeys === void 0 ? false : _ref$syncApiKeys,
39
- logger = _ref.logger,
40
- keyCacheClass = _ref.keyCacheClass;
37
+ logger = _ref.logger;
41
38
  (0, _classCallCheck2["default"])(this, ApitallyClient);
42
39
  (0, _defineProperty2["default"])(this, "clientId", void 0);
43
40
  (0, _defineProperty2["default"])(this, "env", void 0);
44
- (0, _defineProperty2["default"])(this, "syncApiKeys", void 0);
45
41
  (0, _defineProperty2["default"])(this, "instanceUuid", void 0);
46
42
  (0, _defineProperty2["default"])(this, "requestsDataQueue", void 0);
47
43
  (0, _defineProperty2["default"])(this, "axiosClient", void 0);
48
44
  (0, _defineProperty2["default"])(this, "syncIntervalId", void 0);
49
45
  (0, _defineProperty2["default"])(this, "appInfo", void 0);
50
46
  (0, _defineProperty2["default"])(this, "appInfoSent", false);
51
- (0, _defineProperty2["default"])(this, "startedAt", void 0);
52
- (0, _defineProperty2["default"])(this, "keysUpdated", void 0);
53
47
  (0, _defineProperty2["default"])(this, "requestCounter", void 0);
54
48
  (0, _defineProperty2["default"])(this, "validationErrorCounter", void 0);
55
- (0, _defineProperty2["default"])(this, "keyRegistry", void 0);
56
- (0, _defineProperty2["default"])(this, "keyCache", void 0);
49
+ (0, _defineProperty2["default"])(this, "serverErrorCounter", void 0);
57
50
  (0, _defineProperty2["default"])(this, "logger", void 0);
58
51
  if (ApitallyClient.instance) {
59
52
  throw new Error("Apitally client is already initialized");
@@ -67,14 +60,11 @@ var ApitallyClient = exports.ApitallyClient = /*#__PURE__*/function () {
67
60
  ApitallyClient.instance = this;
68
61
  this.clientId = clientId;
69
62
  this.env = env;
70
- this.syncApiKeys = syncApiKeys;
71
63
  this.instanceUuid = (0, _crypto.randomUUID)();
72
64
  this.requestsDataQueue = [];
73
- this.startedAt = Date.now();
74
65
  this.requestCounter = new _requestCounter["default"]();
75
66
  this.validationErrorCounter = new _validationErrorCounter["default"]();
76
- this.keyRegistry = new _keyRegistry.KeyRegistry();
77
- this.keyCache = keyCacheClass ? new keyCacheClass(clientId, env) : undefined;
67
+ this.serverErrorCounter = new _serverErrorCounter["default"]();
78
68
  this.logger = logger || (0, _logging.getLogger)();
79
69
  this.axiosClient = _axios["default"].create({
80
70
  baseURL: this.getHubUrl(),
@@ -86,19 +76,6 @@ var ApitallyClient = exports.ApitallyClient = /*#__PURE__*/function () {
86
76
  return _axiosRetry["default"].exponentialDelay(retryCount, error, 1000);
87
77
  }
88
78
  });
89
- if (this.keyCache) {
90
- var keyDataString = this.keyCache.retrieve();
91
- if (keyDataString) {
92
- try {
93
- var keyData = JSON.parse(keyDataString);
94
- this.updateKeyRegistry(keyData, false);
95
- } catch (error) {
96
- this.logger.error("Failed to load API keys from cache.", {
97
- error: error
98
- });
99
- }
100
- }
101
- }
102
79
  this.startSync();
103
80
  this.handleShutdown = this.handleShutdown.bind(this);
104
81
  }
@@ -157,28 +134,25 @@ var ApitallyClient = exports.ApitallyClient = /*#__PURE__*/function () {
157
134
  case 0:
158
135
  _context2.prev = 0;
159
136
  promises = [this.sendRequestsData()];
160
- if (this.syncApiKeys) {
161
- promises.push(this.getKeys());
162
- }
163
137
  if (!this.appInfoSent) {
164
138
  promises.push(this.sendAppInfo());
165
139
  }
166
- _context2.next = 6;
140
+ _context2.next = 5;
167
141
  return Promise.all(promises);
168
- case 6:
169
- _context2.next = 11;
142
+ case 5:
143
+ _context2.next = 10;
170
144
  break;
171
- case 8:
172
- _context2.prev = 8;
145
+ case 7:
146
+ _context2.prev = 7;
173
147
  _context2.t0 = _context2["catch"](0);
174
148
  this.logger.error("Error while syncing with Apitally Hub.", {
175
149
  error: _context2.t0
176
150
  });
177
- case 11:
151
+ case 10:
178
152
  case "end":
179
153
  return _context2.stop();
180
154
  }
181
- }, _callee2, this, [[0, 8]]);
155
+ }, _callee2, this, [[0, 7]]);
182
156
  }));
183
157
  function sync() {
184
158
  return _sync.apply(this, arguments);
@@ -261,7 +235,7 @@ var ApitallyClient = exports.ApitallyClient = /*#__PURE__*/function () {
261
235
  message_uuid: (0, _crypto.randomUUID)(),
262
236
  requests: this.requestCounter.getAndResetRequests(),
263
237
  validation_errors: this.validationErrorCounter.getAndResetValidationErrors(),
264
- api_key_usage: this.keyRegistry.getAndResetUsageCounts()
238
+ server_errors: this.serverErrorCounter.getAndResetServerErrors()
265
239
  };
266
240
  this.requestsDataQueue.push([Date.now(), newPayload]);
267
241
  failedItems = [];
@@ -311,59 +285,6 @@ var ApitallyClient = exports.ApitallyClient = /*#__PURE__*/function () {
311
285
  }
312
286
  return sendRequestsData;
313
287
  }()
314
- }, {
315
- key: "getKeys",
316
- value: function () {
317
- var _getKeys = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
318
- var response, now;
319
- return _regenerator["default"].wrap(function _callee5$(_context5) {
320
- while (1) switch (_context5.prev = _context5.next) {
321
- case 0:
322
- _context5.prev = 0;
323
- this.logger.debug("Getting API keys from Apitally Hub.");
324
- _context5.next = 4;
325
- return this.axiosClient.get("/keys");
326
- case 4:
327
- response = _context5.sent;
328
- this.updateKeyRegistry(response.data);
329
- this.keysUpdated = Date.now();
330
- _context5.next = 14;
331
- break;
332
- case 9:
333
- _context5.prev = 9;
334
- _context5.t0 = _context5["catch"](0);
335
- this.logger.debug("Error while getting API keys from Apitally Hub (".concat(_context5.t0.code, "). Will retry."), {
336
- error: _context5.t0
337
- });
338
- now = Date.now();
339
- if (!this.keyRegistry.salt) {
340
- // Exit because application won't be able to authenticate requests
341
- this.logger.error("Initial Apitally API key sync failed.");
342
- process.exit(1);
343
- } else if (this.keysUpdated && now - this.keysUpdated > MAX_QUEUE_TIME || !this.keysUpdated && now - this.startedAt > MAX_QUEUE_TIME) {
344
- this.logger.warn("Apitally API key sync has been failing for more than 1 hour.");
345
- }
346
- case 14:
347
- case "end":
348
- return _context5.stop();
349
- }
350
- }, _callee5, this, [[0, 9]]);
351
- }));
352
- function getKeys() {
353
- return _getKeys.apply(this, arguments);
354
- }
355
- return getKeys;
356
- }()
357
- }, {
358
- key: "updateKeyRegistry",
359
- value: function updateKeyRegistry(data) {
360
- var cache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
361
- this.keyRegistry.salt = data.salt || null;
362
- this.keyRegistry.update(data.keys || {});
363
- if (cache && this.keyCache) {
364
- this.keyCache.store(JSON.stringify(data));
365
- }
366
- }
367
288
  }], [{
368
289
  key: "getInstance",
369
290
  value: function getInstance() {
@@ -375,21 +296,21 @@ var ApitallyClient = exports.ApitallyClient = /*#__PURE__*/function () {
375
296
  }, {
376
297
  key: "shutdown",
377
298
  value: function () {
378
- var _shutdown = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
379
- return _regenerator["default"].wrap(function _callee6$(_context6) {
380
- while (1) switch (_context6.prev = _context6.next) {
299
+ var _shutdown = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
300
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
301
+ while (1) switch (_context5.prev = _context5.next) {
381
302
  case 0:
382
303
  if (!ApitallyClient.instance) {
383
- _context6.next = 3;
304
+ _context5.next = 3;
384
305
  break;
385
306
  }
386
- _context6.next = 3;
307
+ _context5.next = 3;
387
308
  return ApitallyClient.instance.handleShutdown();
388
309
  case 3:
389
310
  case "end":
390
- return _context6.stop();
311
+ return _context5.stop();
391
312
  }
392
- }, _callee6);
313
+ }, _callee5);
393
314
  }));
394
315
  function shutdown() {
395
316
  return _shutdown.apply(this, arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"client.cjs","names":["_axios","_interopRequireWildcard","require","_axiosRetry","_interopRequireDefault","_crypto","_keyRegistry","_logging","_paramValidation","_requestCounter","_validationErrorCounter","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","SYNC_INTERVAL","INITIAL_SYNC_INTERVAL","INITIAL_SYNC_INTERVAL_DURATION","REQUEST_TIMEOUT","MAX_QUEUE_TIME","ApitallyClient","exports","_ref","clientId","_ref$env","env","_ref$syncApiKeys","syncApiKeys","logger","keyCacheClass","_classCallCheck2","instance","Error","isValidClientId","concat","isValidEnv","instanceUuid","randomUUID","requestsDataQueue","startedAt","Date","now","requestCounter","RequestCounter","validationErrorCounter","ValidationErrorCounter","keyRegistry","KeyRegistry","keyCache","undefined","getLogger","axiosClient","axios","create","baseURL","getHubUrl","timeout","axiosRetry","retries","retryDelay","retryCount","error","exponentialDelay","keyDataString","retrieve","keyData","JSON","parse","updateKeyRegistry","startSync","handleShutdown","bind","_createClass2","key","value","_handleShutdown","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","stopSync","sendRequestsData","stop","process","APITALLY_HUB_BASE_URL","version","_this","sync","syncIntervalId","setInterval","setTimeout","clearInterval","_sync","_callee2","promises","_callee2$","_context2","getKeys","appInfoSent","sendAppInfo","Promise","all","t0","setAppInfo","appInfo","_sendAppInfo","_callee3","payload","_callee3$","_context3","debug","instance_uuid","message_uuid","post","AxiosError","response","status","data","includes","code","_sendRequestsData","_callee4","newPayload","failedItems","queueItem","_queueItem","time","timeOffset","_callee4$","_context4","time_offset","requests","getAndResetRequests","validation_errors","getAndResetValidationErrors","api_key_usage","getAndResetUsageCounts","shift","_slicedToArray2","_getKeys","_callee5","_callee5$","_context5","sent","keysUpdated","salt","exit","warn","cache","update","store","stringify","getInstance","_shutdown","_callee6","_callee6$","_context6","shutdown"],"sources":["../../../src/common/client.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"client.cjs","names":["_axios","_interopRequireWildcard","require","_axiosRetry","_interopRequireDefault","_crypto","_logging","_paramValidation","_requestCounter","_serverErrorCounter","_validationErrorCounter","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","SYNC_INTERVAL","INITIAL_SYNC_INTERVAL","INITIAL_SYNC_INTERVAL_DURATION","REQUEST_TIMEOUT","MAX_QUEUE_TIME","ApitallyClient","exports","_ref","clientId","_ref$env","env","logger","_classCallCheck2","instance","Error","isValidClientId","concat","isValidEnv","instanceUuid","randomUUID","requestsDataQueue","requestCounter","RequestCounter","validationErrorCounter","ValidationErrorCounter","serverErrorCounter","ServerErrorCounter","getLogger","axiosClient","axios","create","baseURL","getHubUrl","timeout","axiosRetry","retries","retryDelay","retryCount","error","exponentialDelay","startSync","handleShutdown","bind","_createClass2","key","value","_handleShutdown","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","stopSync","sendRequestsData","undefined","stop","process","APITALLY_HUB_BASE_URL","version","_this","sync","syncIntervalId","setInterval","setTimeout","clearInterval","_sync","_callee2","promises","_callee2$","_context2","appInfoSent","sendAppInfo","Promise","all","t0","setAppInfo","appInfo","_sendAppInfo","_callee3","payload","_callee3$","_context3","debug","instance_uuid","message_uuid","post","AxiosError","response","status","data","includes","code","_sendRequestsData","_callee4","newPayload","failedItems","queueItem","_queueItem","time","timeOffset","_callee4$","_context4","time_offset","requests","getAndResetRequests","validation_errors","getAndResetValidationErrors","server_errors","getAndResetServerErrors","Date","now","shift","_slicedToArray2","getInstance","_shutdown","_callee5","_callee5$","_context5","shutdown"],"sources":["../../../src/common/client.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _crypto = require("crypto");
12
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
13
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
+ var MAX_MSG_LENGTH = 2048;
16
+ var MAX_STACKTRACE_LENGTH = 65536;
17
+ var ServerErrorCounter = exports["default"] = /*#__PURE__*/function () {
18
+ function ServerErrorCounter() {
19
+ (0, _classCallCheck2["default"])(this, ServerErrorCounter);
20
+ (0, _defineProperty2["default"])(this, "errorCounts", void 0);
21
+ (0, _defineProperty2["default"])(this, "errorDetails", void 0);
22
+ this.errorCounts = new Map();
23
+ this.errorDetails = new Map();
24
+ }
25
+ (0, _createClass2["default"])(ServerErrorCounter, [{
26
+ key: "addServerError",
27
+ value: function addServerError(serverError) {
28
+ var key = this.getKey(serverError);
29
+ if (!this.errorDetails.has(key)) {
30
+ this.errorDetails.set(key, serverError);
31
+ }
32
+ this.errorCounts.set(key, (this.errorCounts.get(key) || 0) + 1);
33
+ }
34
+ }, {
35
+ key: "getAndResetServerErrors",
36
+ value: function getAndResetServerErrors() {
37
+ var _this = this;
38
+ var data = [];
39
+ this.errorCounts.forEach(function (count, key) {
40
+ var serverError = _this.errorDetails.get(key);
41
+ if (serverError) {
42
+ data.push({
43
+ consumer: serverError.consumer || null,
44
+ method: serverError.method,
45
+ path: serverError.path,
46
+ type: serverError.type,
47
+ msg: _this.getTruncatedMessage(serverError.msg),
48
+ traceback: _this.getTruncatedStack(serverError.traceback),
49
+ error_count: count
50
+ });
51
+ }
52
+ });
53
+ this.errorCounts.clear();
54
+ this.errorDetails.clear();
55
+ return data;
56
+ }
57
+ }, {
58
+ key: "getKey",
59
+ value: function getKey(serverError) {
60
+ var hashInput = [serverError.consumer || "", serverError.method.toUpperCase(), serverError.path, serverError.type, serverError.msg.trim(), serverError.traceback.trim()].join("|");
61
+ return (0, _crypto.createHash)("md5").update(hashInput).digest("hex");
62
+ }
63
+ }, {
64
+ key: "getTruncatedMessage",
65
+ value: function getTruncatedMessage(msg) {
66
+ msg = msg.trim();
67
+ if (msg.length <= MAX_MSG_LENGTH) {
68
+ return msg;
69
+ }
70
+ var suffix = "... (truncated)";
71
+ var cutoff = MAX_MSG_LENGTH - suffix.length;
72
+ return msg.substring(0, cutoff) + suffix;
73
+ }
74
+ }, {
75
+ key: "getTruncatedStack",
76
+ value: function getTruncatedStack(stack) {
77
+ var suffix = "... (truncated) ...";
78
+ var cutoff = MAX_STACKTRACE_LENGTH - suffix.length;
79
+ var lines = stack.trim().split("\n");
80
+ var truncatedLines = [];
81
+ var length = 0;
82
+ var _iterator = _createForOfIteratorHelper(lines),
83
+ _step;
84
+ try {
85
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
86
+ var line = _step.value;
87
+ if (length + line.length + 1 > cutoff) {
88
+ truncatedLines.push(suffix);
89
+ break;
90
+ }
91
+ truncatedLines.push(line);
92
+ length += line.length + 1;
93
+ }
94
+ } catch (err) {
95
+ _iterator.e(err);
96
+ } finally {
97
+ _iterator.f();
98
+ }
99
+ return truncatedLines.join("\n");
100
+ }
101
+ }]);
102
+ return ServerErrorCounter;
103
+ }();
104
+ //# sourceMappingURL=serverErrorCounter.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverErrorCounter.cjs","names":["_crypto","require","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","MAX_MSG_LENGTH","MAX_STACKTRACE_LENGTH","ServerErrorCounter","exports","_classCallCheck2","_defineProperty2","errorCounts","Map","errorDetails","_createClass2","key","addServerError","serverError","getKey","has","set","get","getAndResetServerErrors","_this","data","forEach","count","push","consumer","method","path","type","msg","getTruncatedMessage","traceback","getTruncatedStack","error_count","clear","hashInput","toUpperCase","trim","join","createHash","update","digest","suffix","cutoff","substring","stack","lines","split","truncatedLines","_iterator","_step","line"],"sources":["../../../src/common/serverErrorCounter.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -5,53 +5,56 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _crypto = require("crypto");
12
12
  var ValidationErrorCounter = exports["default"] = /*#__PURE__*/function () {
13
13
  function ValidationErrorCounter() {
14
14
  (0, _classCallCheck2["default"])(this, ValidationErrorCounter);
15
15
  (0, _defineProperty2["default"])(this, "errorCounts", void 0);
16
+ (0, _defineProperty2["default"])(this, "errorDetails", void 0);
16
17
  this.errorCounts = new Map();
18
+ this.errorDetails = new Map();
17
19
  }
18
20
  (0, _createClass2["default"])(ValidationErrorCounter, [{
19
- key: "getKey",
20
- value: function getKey(validationError) {
21
- return [validationError.consumer || "", validationError.method.toUpperCase(), validationError.path, validationError.loc, validationError.msg, validationError.type].join("|");
22
- }
23
- }, {
24
21
  key: "addValidationError",
25
22
  value: function addValidationError(validationError) {
26
23
  var key = this.getKey(validationError);
24
+ if (!this.errorDetails.has(key)) {
25
+ this.errorDetails.set(key, validationError);
26
+ }
27
27
  this.errorCounts.set(key, (this.errorCounts.get(key) || 0) + 1);
28
28
  }
29
29
  }, {
30
30
  key: "getAndResetValidationErrors",
31
31
  value: function getAndResetValidationErrors() {
32
+ var _this = this;
32
33
  var data = [];
33
34
  this.errorCounts.forEach(function (count, key) {
34
- var _key$split = key.split("|"),
35
- _key$split2 = (0, _slicedToArray2["default"])(_key$split, 6),
36
- consumer = _key$split2[0],
37
- method = _key$split2[1],
38
- path = _key$split2[2],
39
- loc = _key$split2[3],
40
- msg = _key$split2[4],
41
- type = _key$split2[5];
42
- data.push({
43
- consumer: consumer || null,
44
- method: method,
45
- path: path,
46
- loc: loc.split("."),
47
- msg: msg,
48
- type: type,
49
- error_count: count
50
- });
35
+ var validationError = _this.errorDetails.get(key);
36
+ if (validationError) {
37
+ data.push({
38
+ consumer: validationError.consumer || null,
39
+ method: validationError.method,
40
+ path: validationError.path,
41
+ loc: validationError.loc.split("."),
42
+ msg: validationError.msg,
43
+ type: validationError.type,
44
+ error_count: count
45
+ });
46
+ }
51
47
  });
52
48
  this.errorCounts.clear();
49
+ this.errorDetails.clear();
53
50
  return data;
54
51
  }
52
+ }, {
53
+ key: "getKey",
54
+ value: function getKey(validationError) {
55
+ var hashInput = [validationError.consumer || "", validationError.method.toUpperCase(), validationError.path, validationError.loc, validationError.msg.trim(), validationError.type].join("|");
56
+ return (0, _crypto.createHash)("md5").update(hashInput).digest("hex");
57
+ }
55
58
  }]);
56
59
  return ValidationErrorCounter;
57
60
  }();
@@ -1 +1 @@
1
- {"version":3,"file":"validationErrorCounter.cjs","names":["ValidationErrorCounter","exports","_classCallCheck2","_defineProperty2","errorCounts","Map","_createClass2","key","value","getKey","validationError","consumer","method","toUpperCase","path","loc","msg","type","join","addValidationError","set","get","getAndResetValidationErrors","data","forEach","count","_key$split","split","_key$split2","_slicedToArray2","push","error_count","clear"],"sources":["../../../src/common/validationErrorCounter.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;IAMqBA,sBAAsB,GAAAC,OAAA;EAGzC,SAAAD,uBAAA;IAAA,IAAAE,gBAAA,mBAAAF,sBAAA;IAAA,IAAAG,gBAAA;IACE,IAAI,CAACC,WAAW,GAAG,IAAIC,GAAG,EAAkB;EAC9C;EAAC,IAAAC,aAAA,aAAAN,sBAAA;IAAAO,GAAA;IAAAC,KAAA,EAEO,SAAAC,OAAOC,eAAqD;MAClE,OAAO,CACLA,eAAe,CAACC,QAAQ,IAAI,EAAE,EAC9BD,eAAe,CAACE,MAAM,CAACC,WAAW,EAAE,EACpCH,eAAe,CAACI,IAAI,EACpBJ,eAAe,CAACK,GAAG,EACnBL,eAAe,CAACM,GAAG,EACnBN,eAAe,CAACO,IAAI,CACrB,CAACC,IAAI,CAAC,GAAG,CAAC;IACb;EAAC;IAAAX,GAAA;IAAAC,KAAA,EAEM,SAAAW,mBACLT,eAAqD;MAErD,IAAMH,GAAG,GAAG,IAAI,CAACE,MAAM,CAACC,eAAe,CAAC;MACxC,IAAI,CAACN,WAAW,CAACgB,GAAG,CAACb,GAAG,EAAE,CAAC,IAAI,CAACH,WAAW,CAACiB,GAAG,CAACd,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE;EAAC;IAAAA,GAAA;IAAAC,KAAA,EAEM,SAAAc,4BAAA,EAA2B;MAChC,IAAMC,IAAI,GAAgC,EAAE;MAC5C,IAAI,CAACnB,WAAW,CAACoB,OAAO,CAAC,UAACC,KAAK,EAAElB,GAAG,EAAI;QACtC,IAAAmB,UAAA,GAAiDnB,GAAG,CAACoB,KAAK,CAAC,GAAG,CAAC;UAAAC,WAAA,OAAAC,eAAA,aAAAH,UAAA;UAAxDf,QAAQ,GAAAiB,WAAA;UAAEhB,MAAM,GAAAgB,WAAA;UAAEd,IAAI,GAAAc,WAAA;UAAEb,GAAG,GAAAa,WAAA;UAAEZ,GAAG,GAAAY,WAAA;UAAEX,IAAI,GAAAW,WAAA;QAC7CL,IAAI,CAACO,IAAI,CAAC;UACRnB,QAAQ,EAAEA,QAAQ,IAAI,IAAI;UAC1BC,MAAM,EAANA,MAAM;UACNE,IAAI,EAAJA,IAAI;UACJC,GAAG,EAAEA,GAAG,CAACY,KAAK,CAAC,GAAG,CAAC;UACnBX,GAAG,EAAHA,GAAG;UACHC,IAAI,EAAJA,IAAI;UACJc,WAAW,EAAEN;SACd,CAAC;MACJ,CAAC,CAAC;MACF,IAAI,CAACrB,WAAW,CAAC4B,KAAK,EAAE;MACxB,OAAOT,IAAI;IACb;EAAC;EAAA,OAAAvB,sBAAA;AAAA"}
1
+ {"version":3,"file":"validationErrorCounter.cjs","names":["_crypto","require","ValidationErrorCounter","exports","_classCallCheck2","_defineProperty2","errorCounts","Map","errorDetails","_createClass2","key","value","addValidationError","validationError","getKey","has","set","get","getAndResetValidationErrors","_this","data","forEach","count","push","consumer","method","path","loc","split","msg","type","error_count","clear","hashInput","toUpperCase","trim","join","createHash","update","digest"],"sources":["../../../src/common/validationErrorCounter.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAoC,IAQfC,sBAAsB,GAAAC,OAAA;EAIzC,SAAAD,uBAAA;IAAA,IAAAE,gBAAA,mBAAAF,sBAAA;IAAA,IAAAG,gBAAA;IAAA,IAAAA,gBAAA;IACE,IAAI,CAACC,WAAW,GAAG,IAAIC,GAAG,EAAE;IAC5B,IAAI,CAACC,YAAY,GAAG,IAAID,GAAG,EAAE;EAC/B;EAAC,IAAAE,aAAA,aAAAP,sBAAA;IAAAQ,GAAA;IAAAC,KAAA,EAEM,SAAAC,mBACLC,eAAqD;MAErD,IAAMH,GAAG,GAAG,IAAI,CAACI,MAAM,CAACD,eAAe,CAAC;MACxC,IAAI,CAAC,IAAI,CAACL,YAAY,CAACO,GAAG,CAACL,GAAG,CAAC,EAAE;QAC/B,IAAI,CAACF,YAAY,CAACQ,GAAG,CAACN,GAAG,EAAEG,eAAe,CAAC;MAC7C;MACA,IAAI,CAACP,WAAW,CAACU,GAAG,CAACN,GAAG,EAAE,CAAC,IAAI,CAACJ,WAAW,CAACW,GAAG,CAACP,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE;EAAC;IAAAA,GAAA;IAAAC,KAAA,EAEM,SAAAO,4BAAA,EAA2B;MAAA,IAAAC,KAAA;MAChC,IAAMC,IAAI,GAAgC,EAAE;MAC5C,IAAI,CAACd,WAAW,CAACe,OAAO,CAAC,UAACC,KAAK,EAAEZ,GAAG,EAAI;QACtC,IAAMG,eAAe,GAAGM,KAAI,CAACX,YAAY,CAACS,GAAG,CAACP,GAAG,CAAC;QAClD,IAAIG,eAAe,EAAE;UACnBO,IAAI,CAACG,IAAI,CAAC;YACRC,QAAQ,EAAEX,eAAe,CAACW,QAAQ,IAAI,IAAI;YAC1CC,MAAM,EAAEZ,eAAe,CAACY,MAAM;YAC9BC,IAAI,EAAEb,eAAe,CAACa,IAAI;YAC1BC,GAAG,EAAEd,eAAe,CAACc,GAAG,CAACC,KAAK,CAAC,GAAG,CAAC;YACnCC,GAAG,EAAEhB,eAAe,CAACgB,GAAG;YACxBC,IAAI,EAAEjB,eAAe,CAACiB,IAAI;YAC1BC,WAAW,EAAET;WACd,CAAC;QACJ;MACF,CAAC,CAAC;MACF,IAAI,CAAChB,WAAW,CAAC0B,KAAK,EAAE;MACxB,IAAI,CAACxB,YAAY,CAACwB,KAAK,EAAE;MACzB,OAAOZ,IAAI;IACb;EAAC;IAAAV,GAAA;IAAAC,KAAA,EAEO,SAAAG,OAAOD,eAAqD;MAClE,IAAMoB,SAAS,GAAG,CAChBpB,eAAe,CAACW,QAAQ,IAAI,EAAE,EAC9BX,eAAe,CAACY,MAAM,CAACS,WAAW,EAAE,EACpCrB,eAAe,CAACa,IAAI,EACpBb,eAAe,CAACc,GAAG,EACnBd,eAAe,CAACgB,GAAG,CAACM,IAAI,EAAE,EAC1BtB,eAAe,CAACiB,IAAI,CACrB,CAACM,IAAI,CAAC,GAAG,CAAC;MACX,OAAO,IAAAC,kBAAU,EAAC,KAAK,CAAC,CAACC,MAAM,CAACL,SAAS,CAAC,CAACM,MAAM,CAAC,KAAK,CAAC;IAC1D;EAAC;EAAA,OAAArC,sBAAA;AAAA"}
@@ -3,25 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "KeyInfo", {
7
- enumerable: true,
8
- get: function get() {
9
- return _keyRegistry.KeyInfo;
10
- }
11
- });
12
- Object.defineProperty(exports, "requireApiKey", {
13
- enumerable: true,
14
- get: function get() {
15
- return _auth.requireApiKey;
16
- }
17
- });
18
6
  Object.defineProperty(exports, "useApitally", {
19
7
  enumerable: true,
20
8
  get: function get() {
21
9
  return _middleware.useApitally;
22
10
  }
23
11
  });
24
- var _keyRegistry = require("../common/keyRegistry.cjs");
25
- var _auth = require("./auth.cjs");
26
12
  var _middleware = require("./middleware.cjs");
27
13
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["_keyRegistry","require","_auth","_middleware"],"sources":["../../../src/express/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA"}
1
+ {"version":3,"file":"index.cjs","names":["_middleware","require"],"sources":["../../../src/express/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA"}