apitally 0.3.0 → 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 (36) hide show
  1. package/README.md +1 -1
  2. package/lib/cjs/common/client.cjs +5 -1
  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/middleware.cjs +25 -4
  9. package/lib/cjs/express/middleware.cjs.map +1 -1
  10. package/lib/cjs/fastify/plugin.cjs +20 -3
  11. package/lib/cjs/fastify/plugin.cjs.map +1 -1
  12. package/lib/cjs/koa/middleware.cjs +32 -16
  13. package/lib/cjs/koa/middleware.cjs.map +1 -1
  14. package/lib/esm/common/client.js +5 -1
  15. package/lib/esm/common/client.js.map +1 -1
  16. package/lib/esm/common/serverErrorCounter.js +98 -0
  17. package/lib/esm/common/serverErrorCounter.js.map +1 -0
  18. package/lib/esm/common/validationErrorCounter.js +26 -23
  19. package/lib/esm/common/validationErrorCounter.js.map +1 -1
  20. package/lib/esm/express/middleware.js +25 -4
  21. package/lib/esm/express/middleware.js.map +1 -1
  22. package/lib/esm/fastify/plugin.js +20 -3
  23. package/lib/esm/fastify/plugin.js.map +1 -1
  24. package/lib/esm/koa/middleware.js +32 -16
  25. package/lib/esm/koa/middleware.js.map +1 -1
  26. package/lib/types/common/client.d.ts +2 -0
  27. package/lib/types/common/client.d.ts.map +1 -1
  28. package/lib/types/common/serverErrorCounter.d.ts +12 -0
  29. package/lib/types/common/serverErrorCounter.d.ts.map +1 -0
  30. package/lib/types/common/types.d.ts +12 -0
  31. package/lib/types/common/types.d.ts.map +1 -1
  32. package/lib/types/common/validationErrorCounter.d.ts +2 -1
  33. package/lib/types/common/validationErrorCounter.d.ts.map +1 -1
  34. package/lib/types/fastify/plugin.d.ts +2 -1
  35. package/lib/types/fastify/plugin.d.ts.map +1 -1
  36. package/package.json +1 -1
@@ -20,7 +20,7 @@ var useApitally = exports.useApitally = function useApitally(app, config) {
20
20
  var getMiddleware = function getMiddleware(client) {
21
21
  return /*#__PURE__*/function () {
22
22
  var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(ctx, next) {
23
- var startTime, statusCode;
23
+ var path, statusCode, startTime;
24
24
  return _regenerator["default"].wrap(function _callee$(_context) {
25
25
  while (1) switch (_context.prev = _context.next) {
26
26
  case 0:
@@ -29,46 +29,62 @@ var getMiddleware = function getMiddleware(client) {
29
29
  _context.next = 4;
30
30
  return next();
31
31
  case 4:
32
- _context.next = 10;
32
+ _context.next = 12;
33
33
  break;
34
34
  case 6:
35
35
  _context.prev = 6;
36
36
  _context.t0 = _context["catch"](1);
37
+ path = getPath(ctx);
37
38
  statusCode = _context.t0.statusCode || _context.t0.status || 500;
39
+ if (path && statusCode === 500 && _context.t0 instanceof Error) {
40
+ client.serverErrorCounter.addServerError({
41
+ consumer: getConsumer(ctx),
42
+ method: ctx.request.method,
43
+ path: path,
44
+ type: _context.t0.name,
45
+ msg: _context.t0.message,
46
+ traceback: _context.t0.stack || ""
47
+ });
48
+ }
38
49
  throw _context.t0;
39
- case 10:
40
- _context.prev = 10;
41
- try {
42
- // _matchedRoute is set by koa-router, routePath is set by koa-route
43
- if (ctx._matchedRoute || ctx.routePath) {
50
+ case 12:
51
+ _context.prev = 12;
52
+ if (!path) {
53
+ path = getPath(ctx);
54
+ }
55
+ if (path) {
56
+ try {
44
57
  client.requestCounter.addRequest({
45
58
  consumer: getConsumer(ctx),
46
59
  method: ctx.request.method,
47
- path: ctx._matchedRoute || ctx.routePath,
60
+ path: path,
48
61
  statusCode: statusCode || ctx.response.status,
49
62
  responseTime: performance.now() - startTime,
50
63
  requestSize: ctx.request.length,
51
64
  responseSize: ctx.response.length
52
65
  });
66
+ } catch (error) {
67
+ client.logger.error("Error while logging request in Apitally middleware.", {
68
+ context: ctx,
69
+ error: error
70
+ });
53
71
  }
54
- } catch (error) {
55
- client.logger.error("Error while logging request in Apitally middleware.", {
56
- context: ctx,
57
- error: error
58
- });
59
72
  }
60
- return _context.finish(10);
61
- case 13:
73
+ return _context.finish(12);
74
+ case 16:
62
75
  case "end":
63
76
  return _context.stop();
64
77
  }
65
- }, _callee, null, [[1, 6, 10, 13]]);
78
+ }, _callee, null, [[1, 6, 12, 16]]);
66
79
  }));
67
80
  return function (_x, _x2) {
68
81
  return _ref.apply(this, arguments);
69
82
  };
70
83
  }();
71
84
  };
85
+ var getPath = function getPath(ctx) {
86
+ return ctx._matchedRoute || ctx.routePath; // _matchedRoute is set by koa-router, routePath is set by koa-route
87
+ };
72
88
  var getConsumer = function getConsumer(ctx) {
73
89
  return ctx.state.consumerIdentifier ? String(ctx.state.consumerIdentifier) : null;
74
90
  };
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.cjs","names":["_client","require","_packageVersions","useApitally","exports","app","config","client","ApitallyClient","middleware","getMiddleware","use","setTimeout","setAppInfo","getAppInfo","appVersion","_ref","_asyncToGenerator2","_regenerator","mark","_callee","ctx","next","startTime","statusCode","wrap","_callee$","_context","prev","performance","now","t0","status","_matchedRoute","routePath","requestCounter","addRequest","consumer","getConsumer","method","request","path","response","responseTime","requestSize","length","responseSize","error","logger","context","finish","stop","_x","_x2","apply","arguments","state","consumerIdentifier","String","versions","process","version","replace","koaVersion","getPackageVersion","apitallyVersion","push","paths","listEndpoints","Object","fromEntries","isKoaRouterMiddleware","router","Array","isArray","stack","endpoints","forEach","layer","methods","includes","toUpperCase"],"sources":["../../../src/koa/middleware.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"middleware.cjs","names":["_client","require","_packageVersions","useApitally","exports","app","config","client","ApitallyClient","middleware","getMiddleware","use","setTimeout","setAppInfo","getAppInfo","appVersion","_ref","_asyncToGenerator2","_regenerator","mark","_callee","ctx","next","path","statusCode","startTime","wrap","_callee$","_context","prev","performance","now","t0","getPath","status","Error","serverErrorCounter","addServerError","consumer","getConsumer","method","request","type","name","msg","message","traceback","stack","requestCounter","addRequest","response","responseTime","requestSize","length","responseSize","error","logger","context","finish","stop","_x","_x2","apply","arguments","_matchedRoute","routePath","state","consumerIdentifier","String","versions","process","version","replace","koaVersion","getPackageVersion","apitallyVersion","push","paths","listEndpoints","Object","fromEntries","isKoaRouterMiddleware","router","Array","isArray","endpoints","forEach","layer","methods","includes","toUpperCase"],"sources":["../../../src/koa/middleware.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -12,6 +12,7 @@ import { randomUUID } from "crypto";
12
12
  import { getLogger } from "./logging.js";
13
13
  import { isValidClientId, isValidEnv } from "./paramValidation.js";
14
14
  import RequestCounter from "./requestCounter.js";
15
+ import ServerErrorCounter from "./serverErrorCounter.js";
15
16
  import ValidationErrorCounter from "./validationErrorCounter.js";
16
17
  var SYNC_INTERVAL = 60000; // 60 seconds
17
18
  var INITIAL_SYNC_INTERVAL = 10000; // 10 seconds
@@ -35,6 +36,7 @@ export var ApitallyClient = /*#__PURE__*/function () {
35
36
  _defineProperty(this, "appInfoSent", false);
36
37
  _defineProperty(this, "requestCounter", void 0);
37
38
  _defineProperty(this, "validationErrorCounter", void 0);
39
+ _defineProperty(this, "serverErrorCounter", void 0);
38
40
  _defineProperty(this, "logger", void 0);
39
41
  if (ApitallyClient.instance) {
40
42
  throw new Error("Apitally client is already initialized");
@@ -52,6 +54,7 @@ export var ApitallyClient = /*#__PURE__*/function () {
52
54
  this.requestsDataQueue = [];
53
55
  this.requestCounter = new RequestCounter();
54
56
  this.validationErrorCounter = new ValidationErrorCounter();
57
+ this.serverErrorCounter = new ServerErrorCounter();
55
58
  this.logger = logger || getLogger();
56
59
  this.axiosClient = axios.create({
57
60
  baseURL: this.getHubUrl(),
@@ -221,7 +224,8 @@ export var ApitallyClient = /*#__PURE__*/function () {
221
224
  instance_uuid: this.instanceUuid,
222
225
  message_uuid: randomUUID(),
223
226
  requests: this.requestCounter.getAndResetRequests(),
224
- validation_errors: this.validationErrorCounter.getAndResetValidationErrors()
227
+ validation_errors: this.validationErrorCounter.getAndResetValidationErrors(),
228
+ server_errors: this.serverErrorCounter.getAndResetServerErrors()
225
229
  };
226
230
  this.requestsDataQueue.push([Date.now(), newPayload]);
227
231
  failedItems = [];
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","names":["axios","AxiosError","axiosRetry","randomUUID","getLogger","isValidClientId","isValidEnv","RequestCounter","ValidationErrorCounter","SYNC_INTERVAL","INITIAL_SYNC_INTERVAL","INITIAL_SYNC_INTERVAL_DURATION","REQUEST_TIMEOUT","MAX_QUEUE_TIME","ApitallyClient","_ref","clientId","_ref$env","env","logger","_classCallCheck","_defineProperty","instance","Error","concat","instanceUuid","requestsDataQueue","requestCounter","validationErrorCounter","axiosClient","create","baseURL","getHubUrl","timeout","retries","retryDelay","retryCount","error","exponentialDelay","startSync","handleShutdown","bind","_createClass","key","value","_handleShutdown","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","stopSync","sendRequestsData","undefined","stop","apply","arguments","process","APITALLY_HUB_BASE_URL","version","_this","sync","syncIntervalId","setInterval","setTimeout","clearInterval","_sync","_callee2","promises","_callee2$","_context2","appInfoSent","push","sendAppInfo","Promise","all","t0","setAppInfo","appInfo","_sendAppInfo","_callee3","payload","_callee3$","_context3","debug","_objectSpread","instance_uuid","message_uuid","post","response","status","data","includes","code","_sendRequestsData","_callee4","newPayload","failedItems","queueItem","_queueItem","time","timeOffset","_callee4$","_context4","time_offset","requests","getAndResetRequests","validation_errors","getAndResetValidationErrors","Date","now","length","shift","_slicedToArray","getInstance","_shutdown","_callee5","_callee5$","_context5","shutdown"],"sources":["../../../src/common/client.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"client.js","names":["axios","AxiosError","axiosRetry","randomUUID","getLogger","isValidClientId","isValidEnv","RequestCounter","ServerErrorCounter","ValidationErrorCounter","SYNC_INTERVAL","INITIAL_SYNC_INTERVAL","INITIAL_SYNC_INTERVAL_DURATION","REQUEST_TIMEOUT","MAX_QUEUE_TIME","ApitallyClient","_ref","clientId","_ref$env","env","logger","_classCallCheck","_defineProperty","instance","Error","concat","instanceUuid","requestsDataQueue","requestCounter","validationErrorCounter","serverErrorCounter","axiosClient","create","baseURL","getHubUrl","timeout","retries","retryDelay","retryCount","error","exponentialDelay","startSync","handleShutdown","bind","_createClass","key","value","_handleShutdown","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","stopSync","sendRequestsData","undefined","stop","apply","arguments","process","APITALLY_HUB_BASE_URL","version","_this","sync","syncIntervalId","setInterval","setTimeout","clearInterval","_sync","_callee2","promises","_callee2$","_context2","appInfoSent","push","sendAppInfo","Promise","all","t0","setAppInfo","appInfo","_sendAppInfo","_callee3","payload","_callee3$","_context3","debug","_objectSpread","instance_uuid","message_uuid","post","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","length","shift","_slicedToArray","getInstance","_shutdown","_callee5","_callee5$","_context5","shutdown"],"sources":["../../../src/common/client.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ 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; } } }; }
5
+ 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); }
6
+ 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; }
7
+ import { createHash } from "crypto";
8
+ var MAX_MSG_LENGTH = 2048;
9
+ var MAX_STACKTRACE_LENGTH = 65536;
10
+ var ServerErrorCounter = /*#__PURE__*/function () {
11
+ function ServerErrorCounter() {
12
+ _classCallCheck(this, ServerErrorCounter);
13
+ _defineProperty(this, "errorCounts", void 0);
14
+ _defineProperty(this, "errorDetails", void 0);
15
+ this.errorCounts = new Map();
16
+ this.errorDetails = new Map();
17
+ }
18
+ _createClass(ServerErrorCounter, [{
19
+ key: "addServerError",
20
+ value: function addServerError(serverError) {
21
+ var key = this.getKey(serverError);
22
+ if (!this.errorDetails.has(key)) {
23
+ this.errorDetails.set(key, serverError);
24
+ }
25
+ this.errorCounts.set(key, (this.errorCounts.get(key) || 0) + 1);
26
+ }
27
+ }, {
28
+ key: "getAndResetServerErrors",
29
+ value: function getAndResetServerErrors() {
30
+ var _this = this;
31
+ var data = [];
32
+ this.errorCounts.forEach(function (count, key) {
33
+ var serverError = _this.errorDetails.get(key);
34
+ if (serverError) {
35
+ data.push({
36
+ consumer: serverError.consumer || null,
37
+ method: serverError.method,
38
+ path: serverError.path,
39
+ type: serverError.type,
40
+ msg: _this.getTruncatedMessage(serverError.msg),
41
+ traceback: _this.getTruncatedStack(serverError.traceback),
42
+ error_count: count
43
+ });
44
+ }
45
+ });
46
+ this.errorCounts.clear();
47
+ this.errorDetails.clear();
48
+ return data;
49
+ }
50
+ }, {
51
+ key: "getKey",
52
+ value: function getKey(serverError) {
53
+ var hashInput = [serverError.consumer || "", serverError.method.toUpperCase(), serverError.path, serverError.type, serverError.msg.trim(), serverError.traceback.trim()].join("|");
54
+ return createHash("md5").update(hashInput).digest("hex");
55
+ }
56
+ }, {
57
+ key: "getTruncatedMessage",
58
+ value: function getTruncatedMessage(msg) {
59
+ msg = msg.trim();
60
+ if (msg.length <= MAX_MSG_LENGTH) {
61
+ return msg;
62
+ }
63
+ var suffix = "... (truncated)";
64
+ var cutoff = MAX_MSG_LENGTH - suffix.length;
65
+ return msg.substring(0, cutoff) + suffix;
66
+ }
67
+ }, {
68
+ key: "getTruncatedStack",
69
+ value: function getTruncatedStack(stack) {
70
+ var suffix = "... (truncated) ...";
71
+ var cutoff = MAX_STACKTRACE_LENGTH - suffix.length;
72
+ var lines = stack.trim().split("\n");
73
+ var truncatedLines = [];
74
+ var length = 0;
75
+ var _iterator = _createForOfIteratorHelper(lines),
76
+ _step;
77
+ try {
78
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
79
+ var line = _step.value;
80
+ if (length + line.length + 1 > cutoff) {
81
+ truncatedLines.push(suffix);
82
+ break;
83
+ }
84
+ truncatedLines.push(line);
85
+ length += line.length + 1;
86
+ }
87
+ } catch (err) {
88
+ _iterator.e(err);
89
+ } finally {
90
+ _iterator.f();
91
+ }
92
+ return truncatedLines.join("\n");
93
+ }
94
+ }]);
95
+ return ServerErrorCounter;
96
+ }();
97
+ export { ServerErrorCounter as default };
98
+ //# sourceMappingURL=serverErrorCounter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverErrorCounter.js","names":["createHash","MAX_MSG_LENGTH","MAX_STACKTRACE_LENGTH","ServerErrorCounter","_classCallCheck","_defineProperty","errorCounts","Map","errorDetails","_createClass","key","value","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","update","digest","length","suffix","cutoff","substring","stack","lines","split","truncatedLines","_iterator","_createForOfIteratorHelper","_step","s","n","done","line","err","e","f","default"],"sources":["../../../src/common/serverErrorCounter.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,50 +1,53 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
1
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
2
  import _createClass from "@babel/runtime/helpers/createClass";
4
3
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ import { createHash } from "crypto";
5
5
  var ValidationErrorCounter = /*#__PURE__*/function () {
6
6
  function ValidationErrorCounter() {
7
7
  _classCallCheck(this, ValidationErrorCounter);
8
8
  _defineProperty(this, "errorCounts", void 0);
9
+ _defineProperty(this, "errorDetails", void 0);
9
10
  this.errorCounts = new Map();
11
+ this.errorDetails = new Map();
10
12
  }
11
13
  _createClass(ValidationErrorCounter, [{
12
- key: "getKey",
13
- value: function getKey(validationError) {
14
- return [validationError.consumer || "", validationError.method.toUpperCase(), validationError.path, validationError.loc, validationError.msg, validationError.type].join("|");
15
- }
16
- }, {
17
14
  key: "addValidationError",
18
15
  value: function addValidationError(validationError) {
19
16
  var key = this.getKey(validationError);
17
+ if (!this.errorDetails.has(key)) {
18
+ this.errorDetails.set(key, validationError);
19
+ }
20
20
  this.errorCounts.set(key, (this.errorCounts.get(key) || 0) + 1);
21
21
  }
22
22
  }, {
23
23
  key: "getAndResetValidationErrors",
24
24
  value: function getAndResetValidationErrors() {
25
+ var _this = this;
25
26
  var data = [];
26
27
  this.errorCounts.forEach(function (count, key) {
27
- var _key$split = key.split("|"),
28
- _key$split2 = _slicedToArray(_key$split, 6),
29
- consumer = _key$split2[0],
30
- method = _key$split2[1],
31
- path = _key$split2[2],
32
- loc = _key$split2[3],
33
- msg = _key$split2[4],
34
- type = _key$split2[5];
35
- data.push({
36
- consumer: consumer || null,
37
- method: method,
38
- path: path,
39
- loc: loc.split("."),
40
- msg: msg,
41
- type: type,
42
- error_count: count
43
- });
28
+ var validationError = _this.errorDetails.get(key);
29
+ if (validationError) {
30
+ data.push({
31
+ consumer: validationError.consumer || null,
32
+ method: validationError.method,
33
+ path: validationError.path,
34
+ loc: validationError.loc.split("."),
35
+ msg: validationError.msg,
36
+ type: validationError.type,
37
+ error_count: count
38
+ });
39
+ }
44
40
  });
45
41
  this.errorCounts.clear();
42
+ this.errorDetails.clear();
46
43
  return data;
47
44
  }
45
+ }, {
46
+ key: "getKey",
47
+ value: function getKey(validationError) {
48
+ var hashInput = [validationError.consumer || "", validationError.method.toUpperCase(), validationError.path, validationError.loc, validationError.msg.trim(), validationError.type].join("|");
49
+ return createHash("md5").update(hashInput).digest("hex");
50
+ }
48
51
  }]);
49
52
  return ValidationErrorCounter;
50
53
  }();
@@ -1 +1 @@
1
- {"version":3,"file":"validationErrorCounter.js","names":["ValidationErrorCounter","_classCallCheck","_defineProperty","errorCounts","Map","_createClass","key","value","getKey","validationError","consumer","method","toUpperCase","path","loc","msg","type","join","addValidationError","set","get","getAndResetValidationErrors","data","forEach","count","_key$split","split","_key$split2","_slicedToArray","push","error_count","clear","default"],"sources":["../../../src/common/validationErrorCounter.ts"],"sourcesContent":[null],"mappings":";;;;IAMqBA,sBAAsB;EAGzC,SAAAA,uBAAA;IAAAC,eAAA,OAAAD,sBAAA;IAAAE,eAAA;IACE,IAAI,CAACC,WAAW,GAAG,IAAIC,GAAG,EAAkB;EAC9C;EAACC,YAAA,CAAAL,sBAAA;IAAAM,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,GAAAC,cAAA,CAAAH,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,OAAAtB,sBAAA;AAAA;AAAA,SAzCkBA,sBAAsB,IAAAgC,OAAA"}
1
+ {"version":3,"file":"validationErrorCounter.js","names":["createHash","ValidationErrorCounter","_classCallCheck","_defineProperty","errorCounts","Map","errorDetails","_createClass","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","update","digest","default"],"sources":["../../../src/common/validationErrorCounter.ts"],"sourcesContent":[null],"mappings":";;;AAAA,SAASA,UAAU,QAAQ,QAAQ;AAAC,IAQfC,sBAAsB;EAIzC,SAAAA,uBAAA;IAAAC,eAAA,OAAAD,sBAAA;IAAAE,eAAA;IAAAA,eAAA;IACE,IAAI,CAACC,WAAW,GAAG,IAAIC,GAAG,EAAE;IAC5B,IAAI,CAACC,YAAY,GAAG,IAAID,GAAG,EAAE;EAC/B;EAACE,YAAA,CAAAN,sBAAA;IAAAO,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,OAAOlC,UAAU,CAAC,KAAK,CAAC,CAACmC,MAAM,CAACJ,SAAS,CAAC,CAACK,MAAM,CAAC,KAAK,CAAC;IAC1D;EAAC;EAAA,OAAAnC,sBAAA;AAAA;AAAA,SAlDkBA,sBAAsB,IAAAoC,OAAA"}
@@ -8,18 +8,27 @@ import { getPackageVersion } from "../common/packageVersions.js";
8
8
  import listEndpoints from "./listEndpoints.js";
9
9
  export var useApitally = function useApitally(app, config) {
10
10
  var client = new ApitallyClient(config);
11
- var middleware = getMiddleware(client);
11
+ var middleware = getMiddleware(app, client);
12
12
  app.use(middleware);
13
13
  setTimeout(function () {
14
14
  client.setAppInfo(getAppInfo(app, config.appVersion));
15
15
  }, 100);
16
16
  };
17
- var getMiddleware = function getMiddleware(client) {
17
+ var getMiddleware = function getMiddleware(app, client) {
18
18
  var validatorInstalled = getPackageVersion("express-validator") !== null;
19
19
  var celebrateInstalled = getPackageVersion("celebrate") !== null;
20
20
  var nestInstalled = getPackageVersion("@nestjs/core") !== null;
21
21
  var classValidatorInstalled = getPackageVersion("class-validator") !== null;
22
+ var errorHandlerConfigured = false;
22
23
  return function (req, res, next) {
24
+ if (!errorHandlerConfigured) {
25
+ // Add error handling middleware to the bottom of the stack when handling the first request
26
+ app.use(function (err, req, res, next) {
27
+ res.locals.serverError = err;
28
+ next(err);
29
+ });
30
+ errorHandlerConfigured = true;
31
+ }
23
32
  try {
24
33
  var startTime = performance.now();
25
34
  var originalJson = res.json;
@@ -31,8 +40,9 @@ var getMiddleware = function getMiddleware(client) {
31
40
  try {
32
41
  if (req.route) {
33
42
  var responseTime = performance.now() - startTime;
43
+ var consumer = getConsumer(req);
34
44
  client.requestCounter.addRequest({
35
- consumer: getConsumer(req),
45
+ consumer: consumer,
36
46
  method: req.method,
37
47
  path: req.route.path,
38
48
  statusCode: res.statusCode,
@@ -53,12 +63,23 @@ var getMiddleware = function getMiddleware(client) {
53
63
  }
54
64
  validationErrors.forEach(function (error) {
55
65
  client.validationErrorCounter.addValidationError(_objectSpread({
56
- consumer: getConsumer(req),
66
+ consumer: consumer,
57
67
  method: req.method,
58
68
  path: req.route.path
59
69
  }, error));
60
70
  });
61
71
  }
72
+ if (res.statusCode === 500 && res.locals.serverError) {
73
+ var serverError = res.locals.serverError;
74
+ client.serverErrorCounter.addServerError({
75
+ consumer: consumer,
76
+ method: req.method,
77
+ path: req.route.path,
78
+ type: serverError.name,
79
+ msg: serverError.message,
80
+ traceback: serverError.stack || ""
81
+ });
82
+ }
62
83
  }
63
84
  } catch (error) {
64
85
  client.logger.error("Error while logging request in Apitally middleware.", {
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","names":["performance","ApitallyClient","getPackageVersion","listEndpoints","useApitally","app","config","client","middleware","getMiddleware","use","setTimeout","setAppInfo","getAppInfo","appVersion","validatorInstalled","celebrateInstalled","nestInstalled","classValidatorInstalled","req","res","next","startTime","now","originalJson","json","body","locals","call","on","route","responseTime","requestCounter","addRequest","consumer","getConsumer","method","path","statusCode","requestSize","get","responseSize","validationErrors","push","apply","_toConsumableArray","extractExpressValidatorErrors","extractCelebrateErrors","extractNestValidationErrors","forEach","error","validationErrorCounter","addValidationError","_objectSpread","logger","request","response","consumerIdentifier","String","responseBody","errors","Array","isArray","location","msg","type","loc","concat","validation","Object","values","source","keys","message","key","subsetJoiMessage","messageWithKey","split","find","includes","versions","process","version","replace","expressVersion","apitallyVersion","paths","fromEntries"],"sources":["../../../src/express/middleware.ts"],"sourcesContent":[null],"mappings":";;;;AACA,SAASA,WAAW,QAAQ,YAAY;AAExC,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,iBAAiB,QAAQ,8BAA8B;AAEhE,OAAOC,aAAa,MAAM,oBAAoB;AAQ9C,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,GAAY,EAAEC,MAAsB,EAAI;EAClE,IAAMC,MAAM,GAAG,IAAIN,cAAc,CAACK,MAAM,CAAC;EACzC,IAAME,UAAU,GAAGC,aAAa,CAACF,MAAM,CAAC;EACxCF,GAAG,CAACK,GAAG,CAACF,UAAU,CAAC;EACnBG,UAAU,CAAC,YAAK;IACdJ,MAAM,CAACK,UAAU,CAACC,UAAU,CAACR,GAAG,EAAEC,MAAM,CAACQ,UAAU,CAAC,CAAC;EACvD,CAAC,EAAE,GAAG,CAAC;AACT,CAAC;AAED,IAAML,aAAa,GAAG,SAAhBA,aAAaA,CAAIF,MAAsB,EAAI;EAC/C,IAAMQ,kBAAkB,GAAGb,iBAAiB,CAAC,mBAAmB,CAAC,KAAK,IAAI;EAC1E,IAAMc,kBAAkB,GAAGd,iBAAiB,CAAC,WAAW,CAAC,KAAK,IAAI;EAClE,IAAMe,aAAa,GAAGf,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI;EAChE,IAAMgB,uBAAuB,GAAGhB,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,IAAI;EAE7E,OAAO,UAACiB,GAAY,EAAEC,GAAa,EAAEC,IAAkB,EAAI;IACzD,IAAI;MACF,IAAMC,SAAS,GAAGtB,WAAW,CAACuB,GAAG,EAAE;MACnC,IAAMC,YAAY,GAAGJ,GAAG,CAACK,IAAI;MAC7BL,GAAG,CAACK,IAAI,GAAG,UAACC,IAAI,EAAI;QAClBN,GAAG,CAACO,MAAM,CAACD,IAAI,GAAGA,IAAI;QACtB,OAAOF,YAAY,CAACI,IAAI,CAACR,GAAG,EAAEM,IAAI,CAAC;MACrC,CAAC;MACDN,GAAG,CAACS,EAAE,CAAC,QAAQ,EAAE,YAAK;QACpB,IAAI;UACF,IAAIV,GAAG,CAACW,KAAK,EAAE;YACb,IAAMC,YAAY,GAAG/B,WAAW,CAACuB,GAAG,EAAE,GAAGD,SAAS;YAClDf,MAAM,CAACyB,cAAc,CAACC,UAAU,CAAC;cAC/BC,QAAQ,EAAEC,WAAW,CAAChB,GAAG,CAAC;cAC1BiB,MAAM,EAAEjB,GAAG,CAACiB,MAAM;cAClBC,IAAI,EAAElB,GAAG,CAACW,KAAK,CAACO,IAAI;cACpBC,UAAU,EAAElB,GAAG,CAACkB,UAAU;cAC1BP,YAAY,EAAEA,YAAY;cAC1BQ,WAAW,EAAEpB,GAAG,CAACqB,GAAG,CAAC,gBAAgB,CAAC;cACtCC,YAAY,EAAErB,GAAG,CAACoB,GAAG,CAAC,gBAAgB;aACvC,CAAC;YACF,IACE,CAACpB,GAAG,CAACkB,UAAU,KAAK,GAAG,IAAIlB,GAAG,CAACkB,UAAU,KAAK,GAAG,KACjDlB,GAAG,CAACO,MAAM,CAACD,IAAI,EACf;cACA,IAAMgB,gBAAgB,GAAsB,EAAE;cAC9C,IAAI3B,kBAAkB,EAAE;gBACtB2B,gBAAgB,CAACC,IAAI,CAAAC,KAAA,CAArBF,gBAAgB,EAAAG,kBAAA,CACXC,6BAA6B,CAAC1B,GAAG,CAACO,MAAM,CAACD,IAAI,CAAC,EAClD;cACH;cACA,IAAIV,kBAAkB,EAAE;gBACtB0B,gBAAgB,CAACC,IAAI,CAAAC,KAAA,CAArBF,gBAAgB,EAAAG,kBAAA,CACXE,sBAAsB,CAAC3B,GAAG,CAACO,MAAM,CAACD,IAAI,CAAC,EAC3C;cACH;cACA,IAAIT,aAAa,IAAIC,uBAAuB,EAAE;gBAC5CwB,gBAAgB,CAACC,IAAI,CAAAC,KAAA,CAArBF,gBAAgB,EAAAG,kBAAA,CACXG,2BAA2B,CAAC5B,GAAG,CAACO,MAAM,CAACD,IAAI,CAAC,EAChD;cACH;cACAgB,gBAAgB,CAACO,OAAO,CAAC,UAACC,KAAK,EAAI;gBACjC3C,MAAM,CAAC4C,sBAAsB,CAACC,kBAAkB,CAAAC,aAAA;kBAC9CnB,QAAQ,EAAEC,WAAW,CAAChB,GAAG,CAAC;kBAC1BiB,MAAM,EAAEjB,GAAG,CAACiB,MAAM;kBAClBC,IAAI,EAAElB,GAAG,CAACW,KAAK,CAACO;gBAAI,GACjBa,KAAK,CACT,CAAC;cACJ,CAAC,CAAC;YACJ;UACF;QACF,CAAC,CAAC,OAAOA,KAAK,EAAE;UACd3C,MAAM,CAAC+C,MAAM,CAACJ,KAAK,CACjB,qDAAqD,EACrD;YAAEK,OAAO,EAAEpC,GAAG;YAAEqC,QAAQ,EAAEpC,GAAG;YAAE8B,KAAK,EAALA;UAAK,CAAE,CACvC;QACH;MACF,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOA,KAAK,EAAE;MACd3C,MAAM,CAAC+C,MAAM,CAACJ,KAAK,CAAC,+BAA+B,EAAE;QACnDK,OAAO,EAAEpC,GAAG;QACZqC,QAAQ,EAAEpC,GAAG;QACb8B,KAAK,EAALA;OACD,CAAC;IACJ,CAAC,SAAS;MACR7B,IAAI,EAAE;IACR;EACF,CAAC;AACH,CAAC;AAED,IAAMc,WAAW,GAAG,SAAdA,WAAWA,CAAIhB,GAAY,EAAI;EACnC,OAAOA,GAAG,CAACsC,kBAAkB,GAAGC,MAAM,CAACvC,GAAG,CAACsC,kBAAkB,CAAC,GAAG,IAAI;AACvE,CAAC;AAED,IAAMX,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAIa,YAAiB,EAAI;EAC1D,IAAMC,MAAM,GAAsB,EAAE;EACpC,IACED,YAAY,IACZA,YAAY,CAACC,MAAM,IACnBC,KAAK,CAACC,OAAO,CAACH,YAAY,CAACC,MAAM,CAAC,EAClC;IACAD,YAAY,CAACC,MAAM,CAACX,OAAO,CAAC,UAACC,KAAU,EAAI;MACzC,IAAIA,KAAK,CAACa,QAAQ,IAAIb,KAAK,CAACb,IAAI,IAAIa,KAAK,CAACc,GAAG,IAAId,KAAK,CAACe,IAAI,EAAE;QAC3DL,MAAM,CAACjB,IAAI,CAAC;UACVuB,GAAG,KAAAC,MAAA,CAAKjB,KAAK,CAACa,QAAQ,OAAAI,MAAA,CAAIjB,KAAK,CAACb,IAAI,CAAE;UACtC2B,GAAG,EAAEd,KAAK,CAACc,GAAG;UACdC,IAAI,EAAEf,KAAK,CAACe;SACb,CAAC;MACJ;IACF,CAAC,CAAC;EACJ;EACA,OAAOL,MAAM;AACf,CAAC;AAED,IAAMb,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIY,YAAiB,EAAI;EACnD,IAAMC,MAAM,GAAsB,EAAE;EACpC,IAAID,YAAY,IAAIA,YAAY,CAACS,UAAU,EAAE;IAC3CC,MAAM,CAACC,MAAM,CAACX,YAAY,CAACS,UAAU,CAAC,CAACnB,OAAO,CAAC,UAACC,KAAU,EAAI;MAC5D,IACEA,KAAK,CAACqB,MAAM,IACZrB,KAAK,CAACsB,IAAI,IACVX,KAAK,CAACC,OAAO,CAACZ,KAAK,CAACsB,IAAI,CAAC,IACzBtB,KAAK,CAACuB,OAAO,EACb;QACAvB,KAAK,CAACsB,IAAI,CAACvB,OAAO,CAAC,UAACyB,GAAW,EAAI;UACjCd,MAAM,CAACjB,IAAI,CAAC;YACVuB,GAAG,KAAAC,MAAA,CAAKjB,KAAK,CAACqB,MAAM,OAAAJ,MAAA,CAAIO,GAAG,CAAE;YAC7BV,GAAG,EAAEW,gBAAgB,CAACzB,KAAK,CAACuB,OAAO,EAAEC,GAAG,CAAC;YACzCT,IAAI,EAAE;WACP,CAAC;QACJ,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;EACJ;EACA,OAAOL,MAAM;AACf,CAAC;AAED,IAAMZ,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAIW,YAAiB,EAAI;EACxD,IAAMC,MAAM,GAAsB,EAAE;EACpC,IAAID,YAAY,IAAIE,KAAK,CAACC,OAAO,CAACH,YAAY,CAACc,OAAO,CAAC,EAAE;IACvDd,YAAY,CAACc,OAAO,CAACxB,OAAO,CAAC,UAACwB,OAAY,EAAI;MAC5Cb,MAAM,CAACjB,IAAI,CAAC;QACVuB,GAAG,EAAE,EAAE;QACPF,GAAG,EAAES,OAAO;QACZR,IAAI,EAAE;OACP,CAAC;IACJ,CAAC,CAAC;EACJ;EACA,OAAOL,MAAM;AACf,CAAC;AAED,IAAMe,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIF,OAAe,EAAEC,GAAW,EAAI;EACxD,IAAME,cAAc,GAAGH,OAAO,CAC3BI,KAAK,CAAC,IAAI,CAAC,CACXC,IAAI,CAAC,UAACL,OAAO;IAAA,OAAKA,OAAO,CAACM,QAAQ,MAAAZ,MAAA,CAAKO,GAAG,OAAG,CAAC;EAAA,EAAC;EAClD,OAAOE,cAAc,GAAGA,cAAc,GAAGH,OAAO;AAClD,CAAC;AAED,IAAM5D,UAAU,GAAG,SAAbA,UAAUA,CAAIR,GAAY,EAAES,UAAmB,EAAa;EAChE,IAAMkE,QAAQ,GAA4B,CACxC,CAAC,QAAQ,EAAEC,OAAO,CAACC,OAAO,CAACC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAC9C;EACD,IAAMC,cAAc,GAAGlF,iBAAiB,CAAC,SAAS,CAAC;EACnD,IAAMmF,eAAe,GAAGnF,iBAAiB,CAAC,OAAO,CAAC;EAClD,IAAIkF,cAAc,EAAE;IAClBJ,QAAQ,CAACrC,IAAI,CAAC,CAAC,SAAS,EAAEyC,cAAc,CAAC,CAAC;EAC5C;EACA,IAAIC,eAAe,EAAE;IACnBL,QAAQ,CAACrC,IAAI,CAAC,CAAC,UAAU,EAAE0C,eAAe,CAAC,CAAC;EAC9C;EACA,IAAIvE,UAAU,EAAE;IACdkE,QAAQ,CAACrC,IAAI,CAAC,CAAC,KAAK,EAAE7B,UAAU,CAAC,CAAC;EACpC;EACA,OAAO;IACLwE,KAAK,EAAEnF,aAAa,CAACE,GAAG,CAAC;IACzB2E,QAAQ,EAAEX,MAAM,CAACkB,WAAW,CAACP,QAAQ,CAAC;IACtCzE,MAAM,EAAE;GACT;AACH,CAAC"}
1
+ {"version":3,"file":"middleware.js","names":["performance","ApitallyClient","getPackageVersion","listEndpoints","useApitally","app","config","client","middleware","getMiddleware","use","setTimeout","setAppInfo","getAppInfo","appVersion","validatorInstalled","celebrateInstalled","nestInstalled","classValidatorInstalled","errorHandlerConfigured","req","res","next","err","locals","serverError","startTime","now","originalJson","json","body","call","on","route","responseTime","consumer","getConsumer","requestCounter","addRequest","method","path","statusCode","requestSize","get","responseSize","validationErrors","push","apply","_toConsumableArray","extractExpressValidatorErrors","extractCelebrateErrors","extractNestValidationErrors","forEach","error","validationErrorCounter","addValidationError","_objectSpread","serverErrorCounter","addServerError","type","name","msg","message","traceback","stack","logger","request","response","consumerIdentifier","String","responseBody","errors","Array","isArray","location","loc","concat","validation","Object","values","source","keys","key","subsetJoiMessage","messageWithKey","split","find","includes","versions","process","version","replace","expressVersion","apitallyVersion","paths","fromEntries"],"sources":["../../../src/express/middleware.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -48,9 +48,16 @@ var apitallyPlugin = /*#__PURE__*/function () {
48
48
  } catch (error) {} // eslint-disable-line no-empty
49
49
  done();
50
50
  });
51
+ fastify.addHook("onError", function (request, reply, error, done) {
52
+ if (!error.statusCode || error.statusCode === 500) {
53
+ reply.serverError = error;
54
+ }
55
+ done();
56
+ });
51
57
  fastify.addHook("onResponse", function (request, reply, done) {
52
58
  if (request.method.toUpperCase() !== "OPTIONS") {
53
59
  // Get path from routeOptions if available (from v4), otherwise fallback to deprecated routerPath
60
+ var consumer = getConsumer(request);
54
61
  var path = "routeOptions" in request ? request.routeOptions.url : request.routerPath;
55
62
  var requestSize = request.headers["content-length"];
56
63
  var responseSize = reply.getHeader("content-length");
@@ -58,7 +65,7 @@ var apitallyPlugin = /*#__PURE__*/function () {
58
65
  responseSize = responseSize[0];
59
66
  }
60
67
  client.requestCounter.addRequest({
61
- consumer: getConsumer(request),
68
+ consumer: consumer,
62
69
  method: request.method,
63
70
  path: path,
64
71
  statusCode: reply.statusCode,
@@ -70,16 +77,26 @@ var apitallyPlugin = /*#__PURE__*/function () {
70
77
  var validationErrors = extractAjvErrors(reply.payload.message);
71
78
  validationErrors.forEach(function (error) {
72
79
  client.validationErrorCounter.addValidationError(_objectSpread({
73
- consumer: getConsumer(request),
80
+ consumer: consumer,
74
81
  method: request.method,
75
82
  path: path
76
83
  }, error));
77
84
  });
78
85
  }
86
+ if (reply.statusCode === 500 && reply.serverError) {
87
+ client.serverErrorCounter.addServerError({
88
+ consumer: consumer,
89
+ method: request.method,
90
+ path: path,
91
+ type: reply.serverError.name,
92
+ msg: reply.serverError.message,
93
+ traceback: reply.serverError.stack || ""
94
+ });
95
+ }
79
96
  }
80
97
  done();
81
98
  });
82
- case 9:
99
+ case 10:
83
100
  case "end":
84
101
  return _context2.stop();
85
102
  }