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
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","names":["fp","ApitallyClient","getPackageVersion","apitallyPlugin","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","fastify","config","client","routes","wrap","_callee2$","_context2","prev","next","decorateRequest","decorateReply","addHook","routeOptions","methods","Array","isArray","method","forEach","includes","toUpperCase","push","path","url","setAppInfo","getAppInfo","appVersion","_callee","_callee$","_context","handleShutdown","stop","request","reply","payload","done","JSON","parse","error","routerPath","requestSize","headers","responseSize","getHeader","requestCounter","addRequest","consumer","getConsumer","statusCode","responseTime","getResponseTime","code","message","validationErrors","extractAjvErrors","validationErrorCounter","addValidationError","_objectSpread","_x","_x2","apply","arguments","versions","process","version","replace","fastifyVersion","apitallyVersion","paths","Object","fromEntries","consumerIdentifier","String","regex","matches","match","exec","index","map","m","i","endIndex","length","matchSplit","split","loc","join","msg","substring","type","name"],"sources":["../../../src/fastify/plugin.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","names":["fp","ApitallyClient","getPackageVersion","apitallyPlugin","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","fastify","config","client","routes","wrap","_callee2$","_context2","prev","next","decorateRequest","decorateReply","addHook","routeOptions","methods","Array","isArray","method","forEach","includes","toUpperCase","push","path","url","setAppInfo","getAppInfo","appVersion","_callee","_callee$","_context","handleShutdown","stop","request","reply","payload","done","JSON","parse","error","statusCode","serverError","consumer","getConsumer","routerPath","requestSize","headers","responseSize","getHeader","requestCounter","addRequest","responseTime","getResponseTime","code","message","validationErrors","extractAjvErrors","validationErrorCounter","addValidationError","_objectSpread","serverErrorCounter","addServerError","type","name","msg","traceback","stack","_x","_x2","apply","arguments","versions","process","version","replace","fastifyVersion","apitallyVersion","paths","Object","fromEntries","consumerIdentifier","String","regex","matches","match","exec","index","map","m","i","endIndex","length","matchSplit","split","loc","join","substring"],"sources":["../../../src/fastify/plugin.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -13,7 +13,7 @@ export var useApitally = function useApitally(app, config) {
13
13
  var getMiddleware = function getMiddleware(client) {
14
14
  return /*#__PURE__*/function () {
15
15
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(ctx, next) {
16
- var startTime, statusCode;
16
+ var path, statusCode, startTime;
17
17
  return _regeneratorRuntime.wrap(function _callee$(_context) {
18
18
  while (1) switch (_context.prev = _context.next) {
19
19
  case 0:
@@ -22,46 +22,62 @@ var getMiddleware = function getMiddleware(client) {
22
22
  _context.next = 4;
23
23
  return next();
24
24
  case 4:
25
- _context.next = 10;
25
+ _context.next = 12;
26
26
  break;
27
27
  case 6:
28
28
  _context.prev = 6;
29
29
  _context.t0 = _context["catch"](1);
30
+ path = getPath(ctx);
30
31
  statusCode = _context.t0.statusCode || _context.t0.status || 500;
32
+ if (path && statusCode === 500 && _context.t0 instanceof Error) {
33
+ client.serverErrorCounter.addServerError({
34
+ consumer: getConsumer(ctx),
35
+ method: ctx.request.method,
36
+ path: path,
37
+ type: _context.t0.name,
38
+ msg: _context.t0.message,
39
+ traceback: _context.t0.stack || ""
40
+ });
41
+ }
31
42
  throw _context.t0;
32
- case 10:
33
- _context.prev = 10;
34
- try {
35
- // _matchedRoute is set by koa-router, routePath is set by koa-route
36
- if (ctx._matchedRoute || ctx.routePath) {
43
+ case 12:
44
+ _context.prev = 12;
45
+ if (!path) {
46
+ path = getPath(ctx);
47
+ }
48
+ if (path) {
49
+ try {
37
50
  client.requestCounter.addRequest({
38
51
  consumer: getConsumer(ctx),
39
52
  method: ctx.request.method,
40
- path: ctx._matchedRoute || ctx.routePath,
53
+ path: path,
41
54
  statusCode: statusCode || ctx.response.status,
42
55
  responseTime: performance.now() - startTime,
43
56
  requestSize: ctx.request.length,
44
57
  responseSize: ctx.response.length
45
58
  });
59
+ } catch (error) {
60
+ client.logger.error("Error while logging request in Apitally middleware.", {
61
+ context: ctx,
62
+ error: error
63
+ });
46
64
  }
47
- } catch (error) {
48
- client.logger.error("Error while logging request in Apitally middleware.", {
49
- context: ctx,
50
- error: error
51
- });
52
65
  }
53
- return _context.finish(10);
54
- case 13:
66
+ return _context.finish(12);
67
+ case 16:
55
68
  case "end":
56
69
  return _context.stop();
57
70
  }
58
- }, _callee, null, [[1, 6, 10, 13]]);
71
+ }, _callee, null, [[1, 6, 12, 16]]);
59
72
  }));
60
73
  return function (_x, _x2) {
61
74
  return _ref.apply(this, arguments);
62
75
  };
63
76
  }();
64
77
  };
78
+ var getPath = function getPath(ctx) {
79
+ return ctx._matchedRoute || ctx.routePath; // _matchedRoute is set by koa-router, routePath is set by koa-route
80
+ };
65
81
  var getConsumer = function getConsumer(ctx) {
66
82
  return ctx.state.consumerIdentifier ? String(ctx.state.consumerIdentifier) : null;
67
83
  };
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","names":["ApitallyClient","getPackageVersion","useApitally","app","config","client","middleware","getMiddleware","use","setTimeout","setAppInfo","getAppInfo","appVersion","_ref","_asyncToGenerator","_regeneratorRuntime","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","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.js","names":["ApitallyClient","getPackageVersion","useApitally","app","config","client","middleware","getMiddleware","use","setTimeout","setAppInfo","getAppInfo","appVersion","_ref","_asyncToGenerator","_regeneratorRuntime","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","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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"}
@@ -1,5 +1,6 @@
1
1
  import { Logger } from "./logging.js";
2
2
  import RequestCounter from "./requestCounter.js";
3
+ import ServerErrorCounter from "./serverErrorCounter.js";
3
4
  import { ApitallyConfig, AppInfo } from "./types.js";
4
5
  import ValidationErrorCounter from "./validationErrorCounter.js";
5
6
  export declare class ApitallyClient {
@@ -14,6 +15,7 @@ export declare class ApitallyClient {
14
15
  private appInfoSent;
15
16
  requestCounter: RequestCounter;
16
17
  validationErrorCounter: ValidationErrorCounter;
18
+ serverErrorCounter: ServerErrorCounter;
17
19
  logger: Logger;
18
20
  constructor({ clientId, env, logger }: ApitallyConfig);
19
21
  static getInstance(): ApitallyClient;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/common/client.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAa,MAAM,cAAc,CAAC;AAEjD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACL,cAAc,EACd,OAAO,EAGR,MAAM,YAAY,CAAC;AACpB,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AAQjE,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAiB;IACzC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,WAAW,CAAkB;IAE9B,cAAc,EAAE,cAAc,CAAC;IAC/B,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,MAAM,EAAE,MAAM,CAAC;gBAEV,EAAE,QAAQ,EAAE,GAAW,EAAE,MAAM,EAAE,EAAE,cAAc;WAsC/C,WAAW;WAOL,QAAQ;IAMf,cAAc;IAM3B,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,SAAS;YAaH,IAAI;IAclB,OAAO,CAAC,QAAQ;IAOT,UAAU,CAAC,OAAO,EAAE,OAAO;YAMpB,WAAW;YAkCX,gBAAgB;CAoC/B"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/common/client.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAa,MAAM,cAAc,CAAC;AAEjD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,cAAc,EACd,OAAO,EAGR,MAAM,YAAY,CAAC;AACpB,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AAQjE,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAiB;IACzC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,WAAW,CAAkB;IAE9B,cAAc,EAAE,cAAc,CAAC;IAC/B,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;gBAEV,EAAE,QAAQ,EAAE,GAAW,EAAE,MAAM,EAAE,EAAE,cAAc;WAuC/C,WAAW;WAOL,QAAQ;IAMf,cAAc;IAM3B,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,SAAS;YAaH,IAAI;IAclB,OAAO,CAAC,QAAQ;IAOT,UAAU,CAAC,OAAO,EAAE,OAAO;YAMpB,WAAW;YAkCX,gBAAgB;CAqC/B"}
@@ -0,0 +1,12 @@
1
+ import { ConsumerMethodPath, ServerError, ServerErrorsItem } from "./types.js";
2
+ export default class ServerErrorCounter {
3
+ private errorCounts;
4
+ private errorDetails;
5
+ constructor();
6
+ addServerError(serverError: ConsumerMethodPath & ServerError): void;
7
+ getAndResetServerErrors(): ServerErrorsItem[];
8
+ private getKey;
9
+ private getTruncatedMessage;
10
+ private getTruncatedStack;
11
+ }
12
+ //# sourceMappingURL=serverErrorCounter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverErrorCounter.d.ts","sourceRoot":"","sources":["../../../src/common/serverErrorCounter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK/E,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACrC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,YAAY,CAAgD;;IAO7D,cAAc,CAAC,WAAW,EAAE,kBAAkB,GAAG,WAAW;IAQ5D,uBAAuB;IAqB9B,OAAO,CAAC,MAAM;IAYd,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,iBAAiB;CAgB1B"}
@@ -50,11 +50,23 @@ export type ValidationErrorsItem = ConsumerMethodPath & {
50
50
  type: string;
51
51
  error_count: number;
52
52
  };
53
+ export type ServerError = {
54
+ type: string;
55
+ msg: string;
56
+ traceback: string;
57
+ };
58
+ export type ServerErrorsItem = ConsumerMethodPath & {
59
+ type: string;
60
+ msg: string;
61
+ traceback: string;
62
+ error_count: number;
63
+ };
53
64
  export type RequestsDataPayload = {
54
65
  time_offset: number;
55
66
  instance_uuid: string;
56
67
  message_uuid: string;
57
68
  requests: Array<RequestsItem>;
58
69
  validation_errors: Array<ValidationErrorsItem>;
70
+ server_errors: Array<ServerErrorsItem>;
59
71
  };
60
72
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACtD,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9B,iBAAiB,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACtD,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9B,iBAAiB,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC/C,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;CACxC,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { ConsumerMethodPath, ValidationError, ValidationErrorsItem } from "./types.js";
2
2
  export default class ValidationErrorCounter {
3
3
  private errorCounts;
4
+ private errorDetails;
4
5
  constructor();
5
- private getKey;
6
6
  addValidationError(validationError: ConsumerMethodPath & ValidationError): void;
7
7
  getAndResetValidationErrors(): ValidationErrorsItem[];
8
+ private getKey;
8
9
  }
9
10
  //# sourceMappingURL=validationErrorCounter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validationErrorCounter.d.ts","sourceRoot":"","sources":["../../../src/common/validationErrorCounter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,sBAAsB;IACzC,OAAO,CAAC,WAAW,CAAsB;;IAMzC,OAAO,CAAC,MAAM;IAWP,kBAAkB,CACvB,eAAe,EAAE,kBAAkB,GAAG,eAAe;IAMhD,2BAA2B;CAiBnC"}
1
+ {"version":3,"file":"validationErrorCounter.d.ts","sourceRoot":"","sources":["../../../src/common/validationErrorCounter.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,sBAAsB;IACzC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,YAAY,CAAoD;;IAOjE,kBAAkB,CACvB,eAAe,EAAE,kBAAkB,GAAG,eAAe;IAShD,2BAA2B;IAqBlC,OAAO,CAAC,MAAM;CAWf"}
@@ -1,8 +1,9 @@
1
- import type { FastifyPluginAsync } from "fastify";
1
+ import type { FastifyError, FastifyPluginAsync } from "fastify";
2
2
  import { ApitallyConfig } from "../common/types.js";
3
3
  declare module "fastify" {
4
4
  interface FastifyReply {
5
5
  payload: any;
6
+ serverError?: FastifyError;
6
7
  }
7
8
  interface FastifyRequest {
8
9
  consumerIdentifier?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/fastify/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,SAAS,CAAC;AAKlE,OAAO,EAAE,cAAc,EAA6B,MAAM,oBAAoB,CAAC;AAE/E,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,YAAY;QACpB,OAAO,EAAE,GAAG,CAAC;KACd;IAED,UAAU,cAAc;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B;CACF;;AAqID,wBAEG"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/fastify/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAkB,MAAM,SAAS,CAAC;AAKhF,OAAO,EAAE,cAAc,EAA6B,MAAM,oBAAoB,CAAC;AAE/E,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,YAAY;QACpB,OAAO,EAAE,GAAG,CAAC;QACb,WAAW,CAAC,EAAE,YAAY,CAAC;KAC5B;IAED,UAAU,cAAc;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B;CACF;;AAuJD,wBAEG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apitally",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "API monitoring for REST APIs built with Express, Fastify, Koa, and NestJS.",
5
5
  "author": "Apitally <hello@apitally.io>",
6
6
  "license": "MIT",