apitally 0.6.0 → 0.7.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.
- package/dist/common/client.cjs +514 -0
- package/dist/common/client.cjs.map +1 -0
- package/dist/common/client.d.cts +36 -0
- package/{lib/types → dist}/common/client.d.ts +13 -9
- package/dist/common/client.js +481 -0
- package/dist/common/client.js.map +1 -0
- package/dist/common/logging.cjs +41 -0
- package/dist/common/logging.cjs.map +1 -0
- package/dist/common/logging.d.cts +11 -0
- package/{lib/types → dist}/common/logging.d.ts +6 -3
- package/dist/common/logging.js +18 -0
- package/dist/common/logging.js.map +1 -0
- package/dist/common/packageVersions.cjs +42 -0
- package/dist/common/packageVersions.cjs.map +1 -0
- package/dist/common/packageVersions.d.cts +3 -0
- package/dist/common/packageVersions.d.ts +3 -0
- package/dist/common/packageVersions.js +18 -0
- package/dist/common/packageVersions.js.map +1 -0
- package/dist/common/paramValidation.cjs +43 -0
- package/dist/common/paramValidation.cjs.map +1 -0
- package/dist/common/paramValidation.d.cts +4 -0
- package/dist/common/paramValidation.d.ts +4 -0
- package/dist/common/paramValidation.js +19 -0
- package/dist/common/paramValidation.js.map +1 -0
- package/dist/common/requestCounter.cjs +111 -0
- package/dist/common/requestCounter.cjs.map +1 -0
- package/dist/common/requestCounter.d.cts +18 -0
- package/{lib/types → dist}/common/requestCounter.d.ts +7 -3
- package/dist/common/requestCounter.js +92 -0
- package/dist/common/requestCounter.js.map +1 -0
- package/dist/common/serverErrorCounter.cjs +133 -0
- package/dist/common/serverErrorCounter.cjs.map +1 -0
- package/dist/common/serverErrorCounter.d.cts +20 -0
- package/{lib/types → dist}/common/serverErrorCounter.d.ts +7 -3
- package/dist/common/serverErrorCounter.js +104 -0
- package/dist/common/serverErrorCounter.js.map +1 -0
- package/dist/common/types.cjs +19 -0
- package/dist/common/types.cjs.map +1 -0
- package/dist/common/types.d.cts +76 -0
- package/{lib/types → dist}/common/types.d.ts +17 -14
- package/dist/common/types.js +1 -0
- package/dist/common/types.js.map +1 -0
- package/dist/common/validationErrorCounter.cjs +76 -0
- package/dist/common/validationErrorCounter.cjs.map +1 -0
- package/dist/common/validationErrorCounter.d.cts +14 -0
- package/{lib/types → dist}/common/validationErrorCounter.d.ts +7 -3
- package/dist/common/validationErrorCounter.js +57 -0
- package/dist/common/validationErrorCounter.js.map +1 -0
- package/dist/express/index.cjs +837 -0
- package/dist/express/index.cjs.map +1 -0
- package/dist/express/index.d.cts +5 -0
- package/dist/express/index.d.ts +5 -0
- package/dist/express/index.js +801 -0
- package/dist/express/index.js.map +1 -0
- package/dist/express/listEndpoints.cjs +144 -0
- package/dist/express/listEndpoints.cjs.map +1 -0
- package/dist/express/listEndpoints.d.cts +3 -0
- package/dist/express/listEndpoints.d.ts +3 -0
- package/dist/express/listEndpoints.js +125 -0
- package/dist/express/listEndpoints.js.map +1 -0
- package/dist/express/middleware.cjs +835 -0
- package/dist/express/middleware.cjs.map +1 -0
- package/dist/express/middleware.d.cts +14 -0
- package/dist/express/middleware.d.ts +14 -0
- package/dist/express/middleware.js +801 -0
- package/dist/express/middleware.js.map +1 -0
- package/dist/fastify/index.cjs +685 -0
- package/dist/fastify/index.cjs.map +1 -0
- package/dist/fastify/index.d.cts +5 -0
- package/dist/fastify/index.d.ts +5 -0
- package/dist/fastify/index.js +649 -0
- package/dist/fastify/index.js.map +1 -0
- package/dist/fastify/plugin.cjs +679 -0
- package/dist/fastify/plugin.cjs.map +1 -0
- package/dist/fastify/plugin.d.cts +18 -0
- package/{lib/types → dist}/fastify/plugin.d.ts +7 -4
- package/dist/fastify/plugin.js +649 -0
- package/dist/fastify/plugin.js.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/koa/index.cjs +655 -0
- package/dist/koa/index.cjs.map +1 -0
- package/dist/koa/index.d.cts +5 -0
- package/dist/koa/index.d.ts +5 -0
- package/dist/koa/index.js +619 -0
- package/dist/koa/index.js.map +1 -0
- package/dist/koa/middleware.cjs +655 -0
- package/dist/koa/middleware.cjs.map +1 -0
- package/dist/koa/middleware.d.cts +8 -0
- package/dist/koa/middleware.d.ts +8 -0
- package/dist/koa/middleware.js +619 -0
- package/dist/koa/middleware.js.map +1 -0
- package/dist/nestjs/index.cjs +837 -0
- package/dist/nestjs/index.cjs.map +1 -0
- package/dist/nestjs/index.d.cts +5 -0
- package/dist/nestjs/index.d.ts +5 -0
- package/dist/nestjs/index.js +801 -0
- package/dist/nestjs/index.js.map +1 -0
- package/package.json +55 -92
- package/lib/cjs/common/client.cjs +0 -323
- package/lib/cjs/common/client.cjs.map +0 -1
- package/lib/cjs/common/logging.cjs +0 -17
- package/lib/cjs/common/logging.cjs.map +0 -1
- package/lib/cjs/common/packageVersions.cjs +0 -16
- package/lib/cjs/common/packageVersions.cjs.map +0 -1
- package/lib/cjs/common/paramValidation.cjs +0 -16
- package/lib/cjs/common/paramValidation.cjs.map +0 -1
- package/lib/cjs/common/requestCounter.cjs +0 -108
- package/lib/cjs/common/requestCounter.cjs.map +0 -1
- package/lib/cjs/common/serverErrorCounter.cjs +0 -154
- package/lib/cjs/common/serverErrorCounter.cjs.map +0 -1
- package/lib/cjs/common/types.cjs +0 -6
- package/lib/cjs/common/types.cjs.map +0 -1
- package/lib/cjs/common/validationErrorCounter.cjs +0 -60
- package/lib/cjs/common/validationErrorCounter.cjs.map +0 -1
- package/lib/cjs/express/index.cjs +0 -13
- package/lib/cjs/express/index.cjs.map +0 -1
- package/lib/cjs/express/listEndpoints.cjs +0 -177
- package/lib/cjs/express/listEndpoints.cjs.map +0 -1
- package/lib/cjs/express/middleware.cjs +0 -189
- package/lib/cjs/express/middleware.cjs.map +0 -1
- package/lib/cjs/fastify/index.cjs +0 -14
- package/lib/cjs/fastify/index.cjs.map +0 -1
- package/lib/cjs/fastify/plugin.cjs +0 -171
- package/lib/cjs/fastify/plugin.cjs.map +0 -1
- package/lib/cjs/index.cjs +0 -6
- package/lib/cjs/index.cjs.map +0 -1
- package/lib/cjs/koa/index.cjs +0 -13
- package/lib/cjs/koa/index.cjs.map +0 -1
- package/lib/cjs/koa/middleware.cjs +0 -139
- package/lib/cjs/koa/middleware.cjs.map +0 -1
- package/lib/cjs/nestjs/index.cjs +0 -13
- package/lib/cjs/nestjs/index.cjs.map +0 -1
- package/lib/esm/common/client.js +0 -313
- package/lib/esm/common/client.js.map +0 -1
- package/lib/esm/common/logging.js +0 -11
- package/lib/esm/common/logging.js.map +0 -1
- package/lib/esm/common/packageVersions.js +0 -10
- package/lib/esm/common/packageVersions.js.map +0 -1
- package/lib/esm/common/paramValidation.js +0 -9
- package/lib/esm/common/paramValidation.js.map +0 -1
- package/lib/esm/common/requestCounter.js +0 -102
- package/lib/esm/common/requestCounter.js.map +0 -1
- package/lib/esm/common/serverErrorCounter.js +0 -143
- package/lib/esm/common/serverErrorCounter.js.map +0 -1
- package/lib/esm/common/types.js +0 -1
- package/lib/esm/common/types.js.map +0 -1
- package/lib/esm/common/validationErrorCounter.js +0 -54
- package/lib/esm/common/validationErrorCounter.js.map +0 -1
- package/lib/esm/express/index.js +0 -1
- package/lib/esm/express/index.js.map +0 -1
- package/lib/esm/express/listEndpoints.js +0 -170
- package/lib/esm/express/listEndpoints.js.map +0 -1
- package/lib/esm/express/middleware.js +0 -182
- package/lib/esm/express/middleware.js.map +0 -1
- package/lib/esm/fastify/index.js +0 -1
- package/lib/esm/fastify/index.js.map +0 -1
- package/lib/esm/fastify/plugin.js +0 -164
- package/lib/esm/fastify/plugin.js.map +0 -1
- package/lib/esm/index.js +0 -1
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/koa/index.js +0 -1
- package/lib/esm/koa/index.js.map +0 -1
- package/lib/esm/koa/middleware.js +0 -132
- package/lib/esm/koa/middleware.js.map +0 -1
- package/lib/esm/nestjs/index.js +0 -1
- package/lib/esm/nestjs/index.js.map +0 -1
- package/lib/types/common/client.d.ts.map +0 -1
- package/lib/types/common/logging.d.ts.map +0 -1
- package/lib/types/common/packageVersions.d.ts +0 -2
- package/lib/types/common/packageVersions.d.ts.map +0 -1
- package/lib/types/common/paramValidation.d.ts +0 -3
- package/lib/types/common/paramValidation.d.ts.map +0 -1
- package/lib/types/common/requestCounter.d.ts.map +0 -1
- package/lib/types/common/serverErrorCounter.d.ts.map +0 -1
- package/lib/types/common/types.d.ts.map +0 -1
- package/lib/types/common/validationErrorCounter.d.ts.map +0 -1
- package/lib/types/express/index.d.ts +0 -2
- package/lib/types/express/index.d.ts.map +0 -1
- package/lib/types/express/listEndpoints.d.ts +0 -3
- package/lib/types/express/listEndpoints.d.ts.map +0 -1
- package/lib/types/express/middleware.d.ts +0 -10
- package/lib/types/express/middleware.d.ts.map +0 -1
- package/lib/types/fastify/index.d.ts +0 -2
- package/lib/types/fastify/index.d.ts.map +0 -1
- package/lib/types/fastify/plugin.d.ts.map +0 -1
- package/lib/types/index.d.ts +0 -2
- package/lib/types/index.d.ts.map +0 -1
- package/lib/types/koa/index.d.ts +0 -2
- package/lib/types/koa/index.d.ts.map +0 -1
- package/lib/types/koa/middleware.d.ts +0 -4
- package/lib/types/koa/middleware.d.ts.map +0 -1
- package/lib/types/nestjs/index.d.ts +0 -2
- package/lib/types/nestjs/index.d.ts.map +0 -1
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
-
var _crypto = require("crypto");
|
|
15
|
-
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); }
|
|
16
|
-
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 && {}.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; }
|
|
17
|
-
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, 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 o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
18
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
19
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
20
|
-
var MAX_MSG_LENGTH = 2048;
|
|
21
|
-
var MAX_STACKTRACE_LENGTH = 65536;
|
|
22
|
-
var ServerErrorCounter = exports["default"] = /*#__PURE__*/function () {
|
|
23
|
-
function ServerErrorCounter() {
|
|
24
|
-
(0, _classCallCheck2["default"])(this, ServerErrorCounter);
|
|
25
|
-
(0, _defineProperty2["default"])(this, "errorCounts", void 0);
|
|
26
|
-
(0, _defineProperty2["default"])(this, "errorDetails", void 0);
|
|
27
|
-
(0, _defineProperty2["default"])(this, "sentryEventIds", void 0);
|
|
28
|
-
(0, _defineProperty2["default"])(this, "sentry", void 0);
|
|
29
|
-
this.errorCounts = new Map();
|
|
30
|
-
this.errorDetails = new Map();
|
|
31
|
-
this.sentryEventIds = new Map();
|
|
32
|
-
this.tryImportSentry();
|
|
33
|
-
}
|
|
34
|
-
return (0, _createClass2["default"])(ServerErrorCounter, [{
|
|
35
|
-
key: "addServerError",
|
|
36
|
-
value: function addServerError(serverError) {
|
|
37
|
-
var key = this.getKey(serverError);
|
|
38
|
-
if (!this.errorDetails.has(key)) {
|
|
39
|
-
this.errorDetails.set(key, serverError);
|
|
40
|
-
}
|
|
41
|
-
this.errorCounts.set(key, (this.errorCounts.get(key) || 0) + 1);
|
|
42
|
-
this.captureSentryEventId(key);
|
|
43
|
-
}
|
|
44
|
-
}, {
|
|
45
|
-
key: "getAndResetServerErrors",
|
|
46
|
-
value: function getAndResetServerErrors() {
|
|
47
|
-
var _this = this;
|
|
48
|
-
var data = [];
|
|
49
|
-
this.errorCounts.forEach(function (count, key) {
|
|
50
|
-
var serverError = _this.errorDetails.get(key);
|
|
51
|
-
if (serverError) {
|
|
52
|
-
data.push({
|
|
53
|
-
consumer: serverError.consumer || null,
|
|
54
|
-
method: serverError.method,
|
|
55
|
-
path: serverError.path,
|
|
56
|
-
type: serverError.type,
|
|
57
|
-
msg: _this.getTruncatedMessage(serverError.msg),
|
|
58
|
-
traceback: _this.getTruncatedStack(serverError.traceback),
|
|
59
|
-
sentry_event_id: _this.sentryEventIds.get(key) || null,
|
|
60
|
-
error_count: count
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
this.errorCounts.clear();
|
|
65
|
-
this.errorDetails.clear();
|
|
66
|
-
return data;
|
|
67
|
-
}
|
|
68
|
-
}, {
|
|
69
|
-
key: "getKey",
|
|
70
|
-
value: function getKey(serverError) {
|
|
71
|
-
var hashInput = [serverError.consumer || "", serverError.method.toUpperCase(), serverError.path, serverError.type, serverError.msg.trim(), serverError.traceback.trim()].join("|");
|
|
72
|
-
return (0, _crypto.createHash)("md5").update(hashInput).digest("hex");
|
|
73
|
-
}
|
|
74
|
-
}, {
|
|
75
|
-
key: "getTruncatedMessage",
|
|
76
|
-
value: function getTruncatedMessage(msg) {
|
|
77
|
-
msg = msg.trim();
|
|
78
|
-
if (msg.length <= MAX_MSG_LENGTH) {
|
|
79
|
-
return msg;
|
|
80
|
-
}
|
|
81
|
-
var suffix = "... (truncated)";
|
|
82
|
-
var cutoff = MAX_MSG_LENGTH - suffix.length;
|
|
83
|
-
return msg.substring(0, cutoff) + suffix;
|
|
84
|
-
}
|
|
85
|
-
}, {
|
|
86
|
-
key: "getTruncatedStack",
|
|
87
|
-
value: function getTruncatedStack(stack) {
|
|
88
|
-
var suffix = "... (truncated) ...";
|
|
89
|
-
var cutoff = MAX_STACKTRACE_LENGTH - suffix.length;
|
|
90
|
-
var lines = stack.trim().split("\n");
|
|
91
|
-
var truncatedLines = [];
|
|
92
|
-
var length = 0;
|
|
93
|
-
var _iterator = _createForOfIteratorHelper(lines),
|
|
94
|
-
_step;
|
|
95
|
-
try {
|
|
96
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
97
|
-
var line = _step.value;
|
|
98
|
-
if (length + line.length + 1 > cutoff) {
|
|
99
|
-
truncatedLines.push(suffix);
|
|
100
|
-
break;
|
|
101
|
-
}
|
|
102
|
-
truncatedLines.push(line);
|
|
103
|
-
length += line.length + 1;
|
|
104
|
-
}
|
|
105
|
-
} catch (err) {
|
|
106
|
-
_iterator.e(err);
|
|
107
|
-
} finally {
|
|
108
|
-
_iterator.f();
|
|
109
|
-
}
|
|
110
|
-
return truncatedLines.join("\n");
|
|
111
|
-
}
|
|
112
|
-
}, {
|
|
113
|
-
key: "captureSentryEventId",
|
|
114
|
-
value: function captureSentryEventId(serverErrorKey) {
|
|
115
|
-
if (this.sentry && this.sentry.lastEventId) {
|
|
116
|
-
var eventId = this.sentry.lastEventId();
|
|
117
|
-
if (eventId) {
|
|
118
|
-
this.sentryEventIds.set(serverErrorKey, eventId);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}, {
|
|
123
|
-
key: "tryImportSentry",
|
|
124
|
-
value: function () {
|
|
125
|
-
var _tryImportSentry = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
126
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
127
|
-
while (1) switch (_context.prev = _context.next) {
|
|
128
|
-
case 0:
|
|
129
|
-
_context.prev = 0;
|
|
130
|
-
_context.next = 3;
|
|
131
|
-
return Promise.resolve().then(function () {
|
|
132
|
-
return _interopRequireWildcard(require("@sentry/node"));
|
|
133
|
-
});
|
|
134
|
-
case 3:
|
|
135
|
-
this.sentry = _context.sent;
|
|
136
|
-
_context.next = 8;
|
|
137
|
-
break;
|
|
138
|
-
case 6:
|
|
139
|
-
_context.prev = 6;
|
|
140
|
-
_context.t0 = _context["catch"](0);
|
|
141
|
-
case 8:
|
|
142
|
-
case "end":
|
|
143
|
-
return _context.stop();
|
|
144
|
-
}
|
|
145
|
-
}, _callee, this, [[0, 6]]);
|
|
146
|
-
}));
|
|
147
|
-
function tryImportSentry() {
|
|
148
|
-
return _tryImportSentry.apply(this, arguments);
|
|
149
|
-
}
|
|
150
|
-
return tryImportSentry;
|
|
151
|
-
}()
|
|
152
|
-
}]);
|
|
153
|
-
}();
|
|
154
|
-
//# sourceMappingURL=serverErrorCounter.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serverErrorCounter.cjs","names":["_crypto","require","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","done","value","f","TypeError","o","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","MAX_MSG_LENGTH","MAX_STACKTRACE_LENGTH","ServerErrorCounter","exports","_classCallCheck2","_defineProperty2","errorCounts","Map","errorDetails","sentryEventIds","tryImportSentry","_createClass2","key","addServerError","serverError","getKey","captureSentryEventId","getAndResetServerErrors","_this","data","forEach","count","push","consumer","method","path","type","msg","getTruncatedMessage","traceback","getTruncatedStack","sentry_event_id","error_count","clear","hashInput","toUpperCase","trim","join","createHash","update","digest","suffix","cutoff","substring","stack","lines","split","truncatedLines","_iterator","_step","line","err","serverErrorKey","sentry","lastEventId","eventId","_tryImportSentry","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","Promise","resolve","then","sent","t0","stop","apply","arguments"],"sources":["../../../src/common/serverErrorCounter.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAAoC,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAI,wBAAAJ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,eAAAA,CAAA,gBAAAM,OAAA,CAAAN,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAI,GAAA,CAAAP,CAAA,UAAAG,CAAA,CAAAK,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,cAAAT,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAAA,SAAAW,2BAAAlB,CAAA,EAAAF,CAAA,QAAAG,CAAA,yBAAAkB,MAAA,IAAAnB,CAAA,CAAAmB,MAAA,CAAAC,QAAA,KAAApB,CAAA,qBAAAC,CAAA,QAAAoB,KAAA,CAAAC,OAAA,CAAAtB,CAAA,MAAAC,CAAA,GAAAsB,2BAAA,CAAAvB,CAAA,MAAAF,CAAA,IAAAE,CAAA,uBAAAA,CAAA,CAAAwB,MAAA,IAAAvB,CAAA,KAAAD,CAAA,GAAAC,CAAA,OAAAwB,EAAA,MAAAC,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAnB,CAAA,WAAAA,EAAA,WAAAkB,EAAA,IAAAzB,CAAA,CAAAwB,MAAA,KAAAI,IAAA,WAAAA,IAAA,MAAAC,KAAA,EAAA7B,CAAA,CAAAyB,EAAA,UAAA3B,CAAA,WAAAA,EAAAE,CAAA,UAAAA,CAAA,KAAA8B,CAAA,EAAAJ,CAAA,gBAAAK,SAAA,iJAAAC,CAAA,EAAAvB,CAAA,OAAAI,CAAA,gBAAAc,CAAA,WAAAA,EAAA,IAAA1B,CAAA,GAAAA,CAAA,CAAAc,IAAA,CAAAf,CAAA,MAAAO,CAAA,WAAAA,EAAA,QAAAP,CAAA,GAAAC,CAAA,CAAAgC,IAAA,WAAAxB,CAAA,GAAAT,CAAA,CAAA4B,IAAA,EAAA5B,CAAA,KAAAF,CAAA,WAAAA,EAAAE,CAAA,IAAAa,CAAA,OAAAmB,CAAA,GAAAhC,CAAA,KAAA8B,CAAA,WAAAA,EAAA,UAAArB,CAAA,YAAAR,CAAA,cAAAA,CAAA,8BAAAY,CAAA,QAAAmB,CAAA;AAAA,SAAAT,4BAAAvB,CAAA,EAAAS,CAAA,QAAAT,CAAA,2BAAAA,CAAA,SAAAkC,iBAAA,CAAAlC,CAAA,EAAAS,CAAA,OAAAR,CAAA,MAAAkC,QAAA,CAAApB,IAAA,CAAAf,CAAA,EAAAoC,KAAA,6BAAAnC,CAAA,IAAAD,CAAA,CAAAqC,WAAA,KAAApC,CAAA,GAAAD,CAAA,CAAAqC,WAAA,CAAAC,IAAA,aAAArC,CAAA,cAAAA,CAAA,GAAAoB,KAAA,CAAAkB,IAAA,CAAAvC,CAAA,oBAAAC,CAAA,+CAAAuC,IAAA,CAAAvC,CAAA,IAAAiC,iBAAA,CAAAlC,CAAA,EAAAS,CAAA;AAAA,SAAAyB,kBAAAlC,CAAA,EAAAS,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAT,CAAA,CAAAwB,MAAA,MAAAf,CAAA,GAAAT,CAAA,CAAAwB,MAAA,YAAA1B,CAAA,MAAAS,CAAA,GAAAc,KAAA,CAAAZ,CAAA,GAAAX,CAAA,GAAAW,CAAA,EAAAX,CAAA,IAAAS,CAAA,CAAAT,CAAA,IAAAE,CAAA,CAAAF,CAAA,UAAAS,CAAA;AAIpC,IAAMkC,cAAc,GAAG,IAAI;AAC3B,IAAMC,qBAAqB,GAAG,KAAK;AAAC,IAEfC,kBAAkB,GAAAC,OAAA;EAMrC,SAAAD,mBAAA;IAAA,IAAAE,gBAAA,mBAAAF,kBAAA;IAAA,IAAAG,gBAAA;IAAA,IAAAA,gBAAA;IAAA,IAAAA,gBAAA;IAAA,IAAAA,gBAAA;IACE,IAAI,CAACC,WAAW,GAAG,IAAIC,GAAG,EAAE;IAC5B,IAAI,CAACC,YAAY,GAAG,IAAID,GAAG,EAAE;IAC7B,IAAI,CAACE,cAAc,GAAG,IAAIF,GAAG,EAAE;IAC/B,IAAI,CAACG,eAAe,EAAE;EACxB;EAAC,WAAAC,aAAA,aAAAT,kBAAA;IAAAU,GAAA;IAAAxB,KAAA,EAEM,SAAAyB,eAAeC,WAA6C;MACjE,IAAMF,GAAG,GAAG,IAAI,CAACG,MAAM,CAACD,WAAW,CAAC;MACpC,IAAI,CAAC,IAAI,CAACN,YAAY,CAAC5C,GAAG,CAACgD,GAAG,CAAC,EAAE;QAC/B,IAAI,CAACJ,YAAY,CAAChC,GAAG,CAACoC,GAAG,EAAEE,WAAW,CAAC;MACzC;MACA,IAAI,CAACR,WAAW,CAAC9B,GAAG,CAACoC,GAAG,EAAE,CAAC,IAAI,CAACN,WAAW,CAACzC,GAAG,CAAC+C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;MAC/D,IAAI,CAACI,oBAAoB,CAACJ,GAAG,CAAC;IAChC;EAAC;IAAAA,GAAA;IAAAxB,KAAA,EAEM,SAAA6B,wBAAA,EAAuB;MAAA,IAAAC,KAAA;MAC5B,IAAMC,IAAI,GAA4B,EAAE;MACxC,IAAI,CAACb,WAAW,CAACc,OAAO,CAAC,UAACC,KAAK,EAAET,GAAG,EAAI;QACtC,IAAME,WAAW,GAAGI,KAAI,CAACV,YAAY,CAAC3C,GAAG,CAAC+C,GAAG,CAAC;QAC9C,IAAIE,WAAW,EAAE;UACfK,IAAI,CAACG,IAAI,CAAC;YACRC,QAAQ,EAAET,WAAW,CAACS,QAAQ,IAAI,IAAI;YACtCC,MAAM,EAAEV,WAAW,CAACU,MAAM;YAC1BC,IAAI,EAAEX,WAAW,CAACW,IAAI;YACtBC,IAAI,EAAEZ,WAAW,CAACY,IAAI;YACtBC,GAAG,EAAET,KAAI,CAACU,mBAAmB,CAACd,WAAW,CAACa,GAAG,CAAC;YAC9CE,SAAS,EAAEX,KAAI,CAACY,iBAAiB,CAAChB,WAAW,CAACe,SAAS,CAAC;YACxDE,eAAe,EAAEb,KAAI,CAACT,cAAc,CAAC5C,GAAG,CAAC+C,GAAG,CAAC,IAAI,IAAI;YACrDoB,WAAW,EAAEX;WACd,CAAC;QACJ;MACF,CAAC,CAAC;MACF,IAAI,CAACf,WAAW,CAAC2B,KAAK,EAAE;MACxB,IAAI,CAACzB,YAAY,CAACyB,KAAK,EAAE;MACzB,OAAOd,IAAI;IACb;EAAC;IAAAP,GAAA;IAAAxB,KAAA,EAEO,SAAA2B,OAAOD,WAA6C;MAC1D,IAAMoB,SAAS,GAAG,CAChBpB,WAAW,CAACS,QAAQ,IAAI,EAAE,EAC1BT,WAAW,CAACU,MAAM,CAACW,WAAW,EAAE,EAChCrB,WAAW,CAACW,IAAI,EAChBX,WAAW,CAACY,IAAI,EAChBZ,WAAW,CAACa,GAAG,CAACS,IAAI,EAAE,EACtBtB,WAAW,CAACe,SAAS,CAACO,IAAI,EAAE,CAC7B,CAACC,IAAI,CAAC,GAAG,CAAC;MACX,OAAO,IAAAC,kBAAU,EAAC,KAAK,CAAC,CAACC,MAAM,CAACL,SAAS,CAAC,CAACM,MAAM,CAAC,KAAK,CAAC;IAC1D;EAAC;IAAA5B,GAAA;IAAAxB,KAAA,EAEO,SAAAwC,oBAAoBD,GAAW;MACrCA,GAAG,GAAGA,GAAG,CAACS,IAAI,EAAE;MAChB,IAAIT,GAAG,CAAC5C,MAAM,IAAIiB,cAAc,EAAE;QAChC,OAAO2B,GAAG;MACZ;MACA,IAAMc,MAAM,GAAG,iBAAiB;MAChC,IAAMC,MAAM,GAAG1C,cAAc,GAAGyC,MAAM,CAAC1D,MAAM;MAC7C,OAAO4C,GAAG,CAACgB,SAAS,CAAC,CAAC,EAAED,MAAM,CAAC,GAAGD,MAAM;IAC1C;EAAC;IAAA7B,GAAA;IAAAxB,KAAA,EAEO,SAAA0C,kBAAkBc,KAAa;MACrC,IAAMH,MAAM,GAAG,qBAAqB;MACpC,IAAMC,MAAM,GAAGzC,qBAAqB,GAAGwC,MAAM,CAAC1D,MAAM;MACpD,IAAM8D,KAAK,GAAGD,KAAK,CAACR,IAAI,EAAE,CAACU,KAAK,CAAC,IAAI,CAAC;MACtC,IAAMC,cAAc,GAAa,EAAE;MACnC,IAAIhE,MAAM,GAAG,CAAC;MAAC,IAAAiE,SAAA,GAAAvE,0BAAA,CACIoE,KAAK;QAAAI,KAAA;MAAA;QAAxB,KAAAD,SAAA,CAAA9D,CAAA,MAAA+D,KAAA,GAAAD,SAAA,CAAAlF,CAAA,IAAAqB,IAAA,GAA0B;UAAA,IAAf+D,IAAI,GAAAD,KAAA,CAAA7D,KAAA;UACb,IAAIL,MAAM,GAAGmE,IAAI,CAACnE,MAAM,GAAG,CAAC,GAAG2D,MAAM,EAAE;YACrCK,cAAc,CAACzB,IAAI,CAACmB,MAAM,CAAC;YAC3B;UACF;UACAM,cAAc,CAACzB,IAAI,CAAC4B,IAAI,CAAC;UACzBnE,MAAM,IAAImE,IAAI,CAACnE,MAAM,GAAG,CAAC;QAC3B;MAAC,SAAAoE,GAAA;QAAAH,SAAA,CAAA3F,CAAA,CAAA8F,GAAA;MAAA;QAAAH,SAAA,CAAA3D,CAAA;MAAA;MACD,OAAO0D,cAAc,CAACV,IAAI,CAAC,IAAI,CAAC;IAClC;EAAC;IAAAzB,GAAA;IAAAxB,KAAA,EAEO,SAAA4B,qBAAqBoC,cAAsB;MACjD,IAAI,IAAI,CAACC,MAAM,IAAI,IAAI,CAACA,MAAM,CAACC,WAAW,EAAE;QAC1C,IAAMC,OAAO,GAAG,IAAI,CAACF,MAAM,CAACC,WAAW,EAAE;QACzC,IAAIC,OAAO,EAAE;UACX,IAAI,CAAC9C,cAAc,CAACjC,GAAG,CAAC4E,cAAc,EAAEG,OAAO,CAAC;QAClD;MACF;IACF;EAAC;IAAA3C,GAAA;IAAAxB,KAAA;MAAA,IAAAoE,gBAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAEO,SAAAC,QAAA;QAAA,OAAAF,YAAA,YAAAG,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAvE,IAAA;YAAA;cAAAuE,QAAA,CAAAC,IAAA;cAAAD,QAAA,CAAAvE,IAAA;cAAA,OAAAyE,OAAA,CAAAC,OAAA,GAAAC,IAAA;gBAAA,OAAA1G,uBAAA,CAAAN,OAAA,CAEuB,cAAc;cAAA;YAAA;cAAzC,IAAI,CAACkG,MAAM,GAAAU,QAAA,CAAAK,IAAA;cAAAL,QAAA,CAAAvE,IAAA;cAAA;YAAA;cAAAuE,QAAA,CAAAC,IAAA;cAAAD,QAAA,CAAAM,EAAA,GAAAN,QAAA;YAAA;YAAA;cAAA,OAAAA,QAAA,CAAAO,IAAA;UAAA;QAAA,GAAAV,OAAA;MAAA,CAId;MAAA,SAAAlD,gBAAA;QAAA,OAAA8C,gBAAA,CAAAe,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAA9D,eAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
package/lib/cjs/common/types.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.cjs","names":[],"sources":["../../../src/common/types.ts"],"sourcesContent":[null],"mappings":"","ignoreList":[]}
|
|
@@ -1,60 +0,0 @@
|
|
|
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
|
-
var ValidationErrorCounter = exports["default"] = /*#__PURE__*/function () {
|
|
13
|
-
function ValidationErrorCounter() {
|
|
14
|
-
(0, _classCallCheck2["default"])(this, ValidationErrorCounter);
|
|
15
|
-
(0, _defineProperty2["default"])(this, "errorCounts", void 0);
|
|
16
|
-
(0, _defineProperty2["default"])(this, "errorDetails", void 0);
|
|
17
|
-
this.errorCounts = new Map();
|
|
18
|
-
this.errorDetails = new Map();
|
|
19
|
-
}
|
|
20
|
-
return (0, _createClass2["default"])(ValidationErrorCounter, [{
|
|
21
|
-
key: "addValidationError",
|
|
22
|
-
value: function addValidationError(validationError) {
|
|
23
|
-
var key = this.getKey(validationError);
|
|
24
|
-
if (!this.errorDetails.has(key)) {
|
|
25
|
-
this.errorDetails.set(key, validationError);
|
|
26
|
-
}
|
|
27
|
-
this.errorCounts.set(key, (this.errorCounts.get(key) || 0) + 1);
|
|
28
|
-
}
|
|
29
|
-
}, {
|
|
30
|
-
key: "getAndResetValidationErrors",
|
|
31
|
-
value: function getAndResetValidationErrors() {
|
|
32
|
-
var _this = this;
|
|
33
|
-
var data = [];
|
|
34
|
-
this.errorCounts.forEach(function (count, key) {
|
|
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
|
-
}
|
|
47
|
-
});
|
|
48
|
-
this.errorCounts.clear();
|
|
49
|
-
this.errorDetails.clear();
|
|
50
|
-
return data;
|
|
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
|
-
}
|
|
58
|
-
}]);
|
|
59
|
-
}();
|
|
60
|
-
//# sourceMappingURL=validationErrorCounter.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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,WAAAE,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;AAAA","ignoreList":[]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "useApitally", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function get() {
|
|
9
|
-
return _middleware.useApitally;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
var _middleware = require("./middleware.cjs");
|
|
13
|
-
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["_middleware","require"],"sources":["../../../src/express/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -1,177 +0,0 @@
|
|
|
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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
-
// Adapted from https://github.com/AlbertoFdzM/express-list-endpoints/blob/ed926dd5186761e7b721ad20938ce6eb52d104d3/src/index.js
|
|
10
|
-
var regExpToParseExpressPathRegExp = /^\/\^\\\/(?:(:?[\w\\.-]*(?:\\\/:?[\w\\.-]*)*)|(\(\?:\(\[\^\\\/]\+\?\)\)))\\\/.*/;
|
|
11
|
-
var regExpToReplaceExpressPathRegExpParams = /\(\?:\(\[\^\\\/]\+\?\)\)/;
|
|
12
|
-
var regexpExpressParamRegexp = /\(\?:\(\[\^\\\/]\+\?\)\)/g;
|
|
13
|
-
var EXPRESS_ROOT_PATH_REGEXP_VALUE = "/^\\/?(?=\\/|$)/i";
|
|
14
|
-
var STACK_ITEM_VALID_NAMES = ["router", "bound dispatch", "mounted_app"];
|
|
15
|
-
/**
|
|
16
|
-
* Returns all the verbs detected for the passed route
|
|
17
|
-
*/
|
|
18
|
-
var getRouteMethods = function getRouteMethods(route) {
|
|
19
|
-
var methods = Object.keys(route.methods);
|
|
20
|
-
methods = methods.filter(function (method) {
|
|
21
|
-
return method !== "_all";
|
|
22
|
-
});
|
|
23
|
-
methods = methods.map(function (method) {
|
|
24
|
-
return method.toUpperCase();
|
|
25
|
-
});
|
|
26
|
-
return methods;
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Returns the names (or anonymous) of all the middlewares attached to the
|
|
30
|
-
* passed route
|
|
31
|
-
* @param {Object} route
|
|
32
|
-
* @returns {string[]}
|
|
33
|
-
*/
|
|
34
|
-
var getRouteMiddlewares = function getRouteMiddlewares(route) {
|
|
35
|
-
return route.stack.map(function (item) {
|
|
36
|
-
return item.handle.name || "anonymous";
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Returns true if found regexp related with express params
|
|
41
|
-
* @param {string} expressPathRegExp
|
|
42
|
-
* @returns {boolean}
|
|
43
|
-
*/
|
|
44
|
-
var hasParams = function hasParams(expressPathRegExp) {
|
|
45
|
-
return regexpExpressParamRegexp.test(expressPathRegExp);
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* @param {Object} route Express route object to be parsed
|
|
49
|
-
* @param {string} basePath The basePath the route is on
|
|
50
|
-
* @return {Object[]} Endpoints info
|
|
51
|
-
*/
|
|
52
|
-
var parseExpressRoute = function parseExpressRoute(route, basePath) {
|
|
53
|
-
var paths = [];
|
|
54
|
-
if (Array.isArray(route.path)) {
|
|
55
|
-
paths.push.apply(paths, (0, _toConsumableArray2["default"])(route.path));
|
|
56
|
-
} else {
|
|
57
|
-
paths.push(route.path);
|
|
58
|
-
}
|
|
59
|
-
var endpoints = paths.map(function (path) {
|
|
60
|
-
var completePath = basePath && path === "/" ? basePath : "".concat(basePath).concat(path);
|
|
61
|
-
var endpoint = {
|
|
62
|
-
path: completePath,
|
|
63
|
-
methods: getRouteMethods(route),
|
|
64
|
-
middlewares: getRouteMiddlewares(route)
|
|
65
|
-
};
|
|
66
|
-
return endpoint;
|
|
67
|
-
});
|
|
68
|
-
return endpoints;
|
|
69
|
-
};
|
|
70
|
-
/**
|
|
71
|
-
* @param {RegExp} expressPathRegExp
|
|
72
|
-
* @param {Object[]} params
|
|
73
|
-
* @returns {string}
|
|
74
|
-
*/
|
|
75
|
-
var parseExpressPath = function parseExpressPath(expressPathRegExp, params) {
|
|
76
|
-
var expressPathRegExpExec = regExpToParseExpressPathRegExp.exec(expressPathRegExp);
|
|
77
|
-
var parsedRegExp = expressPathRegExp.toString();
|
|
78
|
-
var paramIndex = 0;
|
|
79
|
-
while (hasParams(parsedRegExp)) {
|
|
80
|
-
var paramName = params[paramIndex].name;
|
|
81
|
-
var paramId = ":".concat(paramName);
|
|
82
|
-
parsedRegExp = parsedRegExp.replace(regExpToReplaceExpressPathRegExpParams, paramId);
|
|
83
|
-
paramIndex++;
|
|
84
|
-
}
|
|
85
|
-
if (parsedRegExp !== expressPathRegExp.toString()) {
|
|
86
|
-
expressPathRegExpExec = regExpToParseExpressPathRegExp.exec(parsedRegExp);
|
|
87
|
-
}
|
|
88
|
-
var parsedPath = expressPathRegExpExec[1].replace(/\\\//g, "/");
|
|
89
|
-
return parsedPath;
|
|
90
|
-
};
|
|
91
|
-
/**
|
|
92
|
-
* @param {Object} app
|
|
93
|
-
* @param {string} [basePath]
|
|
94
|
-
* @param {Object[]} [endpoints]
|
|
95
|
-
* @returns {Object[]}
|
|
96
|
-
*/
|
|
97
|
-
var parseEndpoints = function parseEndpoints(app, basePath, endpoints) {
|
|
98
|
-
var stack = app.stack || app._router && app._router.stack;
|
|
99
|
-
endpoints = endpoints || [];
|
|
100
|
-
basePath = basePath || "";
|
|
101
|
-
if (!stack) {
|
|
102
|
-
endpoints = addEndpoints(endpoints, [{
|
|
103
|
-
path: basePath,
|
|
104
|
-
methods: [],
|
|
105
|
-
middlewares: []
|
|
106
|
-
}]);
|
|
107
|
-
} else {
|
|
108
|
-
endpoints = parseStack(stack, basePath, endpoints);
|
|
109
|
-
}
|
|
110
|
-
return endpoints;
|
|
111
|
-
};
|
|
112
|
-
/**
|
|
113
|
-
* Ensures the path of the new endpoints isn't yet in the array.
|
|
114
|
-
* If the path is already in the array merges the endpoints with the existing
|
|
115
|
-
* one, if not, it adds them to the array.
|
|
116
|
-
*
|
|
117
|
-
* @param {Object[]} currentEndpoints Array of current endpoints
|
|
118
|
-
* @param {Object[]} endpointsToAdd New endpoints to be added to the array
|
|
119
|
-
* @returns {Object[]} Updated endpoints array
|
|
120
|
-
*/
|
|
121
|
-
var addEndpoints = function addEndpoints(currentEndpoints, endpointsToAdd) {
|
|
122
|
-
endpointsToAdd.forEach(function (newEndpoint) {
|
|
123
|
-
var existingEndpoint = currentEndpoints.find(function (item) {
|
|
124
|
-
return item.path === newEndpoint.path;
|
|
125
|
-
});
|
|
126
|
-
if (existingEndpoint !== undefined) {
|
|
127
|
-
var newMethods = newEndpoint.methods.filter(function (method) {
|
|
128
|
-
return !existingEndpoint.methods.includes(method);
|
|
129
|
-
});
|
|
130
|
-
existingEndpoint.methods = existingEndpoint.methods.concat(newMethods);
|
|
131
|
-
} else {
|
|
132
|
-
currentEndpoints.push(newEndpoint);
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
return currentEndpoints;
|
|
136
|
-
};
|
|
137
|
-
/**
|
|
138
|
-
* @param {Object} stack
|
|
139
|
-
* @param {string} basePath
|
|
140
|
-
* @param {Object[]} endpoints
|
|
141
|
-
* @returns {Object[]}
|
|
142
|
-
*/
|
|
143
|
-
var parseStack = function parseStack(stack, basePath, endpoints) {
|
|
144
|
-
stack.forEach(function (stackItem) {
|
|
145
|
-
if (stackItem.route) {
|
|
146
|
-
var newEndpoints = parseExpressRoute(stackItem.route, basePath);
|
|
147
|
-
endpoints = addEndpoints(endpoints, newEndpoints);
|
|
148
|
-
} else if (STACK_ITEM_VALID_NAMES.includes(stackItem.name)) {
|
|
149
|
-
var isExpressPathRegexp = regExpToParseExpressPathRegExp.test(stackItem.regexp);
|
|
150
|
-
var newBasePath = basePath;
|
|
151
|
-
if (isExpressPathRegexp) {
|
|
152
|
-
var parsedPath = parseExpressPath(stackItem.regexp, stackItem.keys);
|
|
153
|
-
newBasePath += "/".concat(parsedPath);
|
|
154
|
-
} else if (!stackItem.path && stackItem.regexp && stackItem.regexp.toString() !== EXPRESS_ROOT_PATH_REGEXP_VALUE) {
|
|
155
|
-
var regExpPath = " RegExp(".concat(stackItem.regexp, ") ");
|
|
156
|
-
newBasePath += "/".concat(regExpPath);
|
|
157
|
-
}
|
|
158
|
-
endpoints = parseEndpoints(stackItem.handle, newBasePath, endpoints);
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
return endpoints;
|
|
162
|
-
};
|
|
163
|
-
var getEndpoints = function getEndpoints(app) {
|
|
164
|
-
var endpoints = parseEndpoints(app);
|
|
165
|
-
return endpoints.flatMap(function (route) {
|
|
166
|
-
return route.methods.filter(function (method) {
|
|
167
|
-
return !["HEAD", "OPTIONS"].includes(method.toUpperCase());
|
|
168
|
-
}).map(function (method) {
|
|
169
|
-
return {
|
|
170
|
-
method: method,
|
|
171
|
-
path: route.path
|
|
172
|
-
};
|
|
173
|
-
});
|
|
174
|
-
});
|
|
175
|
-
};
|
|
176
|
-
var _default = exports["default"] = getEndpoints;
|
|
177
|
-
//# sourceMappingURL=listEndpoints.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"listEndpoints.cjs","names":["regExpToParseExpressPathRegExp","regExpToReplaceExpressPathRegExpParams","regexpExpressParamRegexp","EXPRESS_ROOT_PATH_REGEXP_VALUE","STACK_ITEM_VALID_NAMES","getRouteMethods","route","methods","Object","keys","filter","method","map","toUpperCase","getRouteMiddlewares","stack","item","handle","name","hasParams","expressPathRegExp","test","parseExpressRoute","basePath","paths","Array","isArray","path","push","apply","_toConsumableArray2","endpoints","completePath","concat","endpoint","middlewares","parseExpressPath","params","expressPathRegExpExec","exec","parsedRegExp","toString","paramIndex","paramName","paramId","replace","parsedPath","parseEndpoints","app","_router","addEndpoints","parseStack","currentEndpoints","endpointsToAdd","forEach","newEndpoint","existingEndpoint","find","undefined","newMethods","includes","stackItem","newEndpoints","isExpressPathRegexp","regexp","newBasePath","regExpPath","getEndpoints","flatMap","_default","exports"],"sources":["../../../src/express/listEndpoints.js"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.useApitally = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
-
var _perf_hooks = require("perf_hooks");
|
|
11
|
-
var _client = require("../common/client.cjs");
|
|
12
|
-
var _packageVersions = require("../common/packageVersions.cjs");
|
|
13
|
-
var _listEndpoints = _interopRequireDefault(require("./listEndpoints.cjs"));
|
|
14
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
|
-
var useApitally = exports.useApitally = function useApitally(app, config) {
|
|
17
|
-
var client = new _client.ApitallyClient(config);
|
|
18
|
-
var middleware = getMiddleware(app, client);
|
|
19
|
-
app.use(middleware);
|
|
20
|
-
setTimeout(function () {
|
|
21
|
-
client.setAppInfo(getAppInfo(app, config.appVersion));
|
|
22
|
-
}, 100);
|
|
23
|
-
};
|
|
24
|
-
var getMiddleware = function getMiddleware(app, client) {
|
|
25
|
-
var validatorInstalled = (0, _packageVersions.getPackageVersion)("express-validator") !== null;
|
|
26
|
-
var celebrateInstalled = (0, _packageVersions.getPackageVersion)("celebrate") !== null;
|
|
27
|
-
var nestInstalled = (0, _packageVersions.getPackageVersion)("@nestjs/core") !== null;
|
|
28
|
-
var classValidatorInstalled = (0, _packageVersions.getPackageVersion)("class-validator") !== null;
|
|
29
|
-
var errorHandlerConfigured = false;
|
|
30
|
-
return function (req, res, next) {
|
|
31
|
-
if (!errorHandlerConfigured) {
|
|
32
|
-
// Add error handling middleware to the bottom of the stack when handling the first request
|
|
33
|
-
app.use(function (err, req, res, next) {
|
|
34
|
-
res.locals.serverError = err;
|
|
35
|
-
next(err);
|
|
36
|
-
});
|
|
37
|
-
errorHandlerConfigured = true;
|
|
38
|
-
}
|
|
39
|
-
try {
|
|
40
|
-
var startTime = _perf_hooks.performance.now();
|
|
41
|
-
var originalJson = res.json;
|
|
42
|
-
res.json = function (body) {
|
|
43
|
-
res.locals.body = body;
|
|
44
|
-
return originalJson.call(res, body);
|
|
45
|
-
};
|
|
46
|
-
res.on("finish", function () {
|
|
47
|
-
try {
|
|
48
|
-
if (req.route) {
|
|
49
|
-
var responseTime = _perf_hooks.performance.now() - startTime;
|
|
50
|
-
var consumer = getConsumer(req);
|
|
51
|
-
client.requestCounter.addRequest({
|
|
52
|
-
consumer: consumer,
|
|
53
|
-
method: req.method,
|
|
54
|
-
path: req.route.path,
|
|
55
|
-
statusCode: res.statusCode,
|
|
56
|
-
responseTime: responseTime,
|
|
57
|
-
requestSize: req.get("content-length"),
|
|
58
|
-
responseSize: res.get("content-length")
|
|
59
|
-
});
|
|
60
|
-
if ((res.statusCode === 400 || res.statusCode === 422) && res.locals.body) {
|
|
61
|
-
var validationErrors = [];
|
|
62
|
-
if (validatorInstalled) {
|
|
63
|
-
validationErrors.push.apply(validationErrors, (0, _toConsumableArray2["default"])(extractExpressValidatorErrors(res.locals.body)));
|
|
64
|
-
}
|
|
65
|
-
if (celebrateInstalled) {
|
|
66
|
-
validationErrors.push.apply(validationErrors, (0, _toConsumableArray2["default"])(extractCelebrateErrors(res.locals.body)));
|
|
67
|
-
}
|
|
68
|
-
if (nestInstalled && classValidatorInstalled) {
|
|
69
|
-
validationErrors.push.apply(validationErrors, (0, _toConsumableArray2["default"])(extractNestValidationErrors(res.locals.body)));
|
|
70
|
-
}
|
|
71
|
-
validationErrors.forEach(function (error) {
|
|
72
|
-
client.validationErrorCounter.addValidationError(_objectSpread({
|
|
73
|
-
consumer: consumer,
|
|
74
|
-
method: req.method,
|
|
75
|
-
path: req.route.path
|
|
76
|
-
}, error));
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
if (res.statusCode === 500 && res.locals.serverError) {
|
|
80
|
-
var serverError = res.locals.serverError;
|
|
81
|
-
client.serverErrorCounter.addServerError({
|
|
82
|
-
consumer: consumer,
|
|
83
|
-
method: req.method,
|
|
84
|
-
path: req.route.path,
|
|
85
|
-
type: serverError.name,
|
|
86
|
-
msg: serverError.message,
|
|
87
|
-
traceback: serverError.stack || ""
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
} catch (error) {
|
|
92
|
-
client.logger.error("Error while logging request in Apitally middleware.", {
|
|
93
|
-
request: req,
|
|
94
|
-
response: res,
|
|
95
|
-
error: error
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
} catch (error) {
|
|
100
|
-
client.logger.error("Error in Apitally middleware.", {
|
|
101
|
-
request: req,
|
|
102
|
-
response: res,
|
|
103
|
-
error: error
|
|
104
|
-
});
|
|
105
|
-
} finally {
|
|
106
|
-
next();
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
};
|
|
110
|
-
var getConsumer = function getConsumer(req) {
|
|
111
|
-
if (req.apitallyConsumer) {
|
|
112
|
-
return String(req.apitallyConsumer);
|
|
113
|
-
} else if (req.consumerIdentifier) {
|
|
114
|
-
// For backwards compatibility
|
|
115
|
-
return String(req.consumerIdentifier);
|
|
116
|
-
}
|
|
117
|
-
return null;
|
|
118
|
-
};
|
|
119
|
-
var extractExpressValidatorErrors = function extractExpressValidatorErrors(responseBody) {
|
|
120
|
-
var errors = [];
|
|
121
|
-
if (responseBody && responseBody.errors && Array.isArray(responseBody.errors)) {
|
|
122
|
-
responseBody.errors.forEach(function (error) {
|
|
123
|
-
if (error.location && error.path && error.msg && error.type) {
|
|
124
|
-
errors.push({
|
|
125
|
-
loc: "".concat(error.location, ".").concat(error.path),
|
|
126
|
-
msg: error.msg,
|
|
127
|
-
type: error.type
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
return errors;
|
|
133
|
-
};
|
|
134
|
-
var extractCelebrateErrors = function extractCelebrateErrors(responseBody) {
|
|
135
|
-
var errors = [];
|
|
136
|
-
if (responseBody && responseBody.validation) {
|
|
137
|
-
Object.values(responseBody.validation).forEach(function (error) {
|
|
138
|
-
if (error.source && error.keys && Array.isArray(error.keys) && error.message) {
|
|
139
|
-
error.keys.forEach(function (key) {
|
|
140
|
-
errors.push({
|
|
141
|
-
loc: "".concat(error.source, ".").concat(key),
|
|
142
|
-
msg: subsetJoiMessage(error.message, key),
|
|
143
|
-
type: ""
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
return errors;
|
|
150
|
-
};
|
|
151
|
-
var extractNestValidationErrors = function extractNestValidationErrors(responseBody) {
|
|
152
|
-
var errors = [];
|
|
153
|
-
if (responseBody && Array.isArray(responseBody.message)) {
|
|
154
|
-
responseBody.message.forEach(function (message) {
|
|
155
|
-
errors.push({
|
|
156
|
-
loc: "",
|
|
157
|
-
msg: message,
|
|
158
|
-
type: ""
|
|
159
|
-
});
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
return errors;
|
|
163
|
-
};
|
|
164
|
-
var subsetJoiMessage = function subsetJoiMessage(message, key) {
|
|
165
|
-
var messageWithKey = message.split(". ").find(function (message) {
|
|
166
|
-
return message.includes("\"".concat(key, "\""));
|
|
167
|
-
});
|
|
168
|
-
return messageWithKey ? messageWithKey : message;
|
|
169
|
-
};
|
|
170
|
-
var getAppInfo = function getAppInfo(app, appVersion) {
|
|
171
|
-
var versions = [["nodejs", process.version.replace(/^v/, "")]];
|
|
172
|
-
var expressVersion = (0, _packageVersions.getPackageVersion)("express");
|
|
173
|
-
var apitallyVersion = (0, _packageVersions.getPackageVersion)("../..");
|
|
174
|
-
if (expressVersion) {
|
|
175
|
-
versions.push(["express", expressVersion]);
|
|
176
|
-
}
|
|
177
|
-
if (apitallyVersion) {
|
|
178
|
-
versions.push(["apitally", apitallyVersion]);
|
|
179
|
-
}
|
|
180
|
-
if (appVersion) {
|
|
181
|
-
versions.push(["app", appVersion]);
|
|
182
|
-
}
|
|
183
|
-
return {
|
|
184
|
-
paths: (0, _listEndpoints["default"])(app),
|
|
185
|
-
versions: Object.fromEntries(versions),
|
|
186
|
-
client: "js:express"
|
|
187
|
-
};
|
|
188
|
-
};
|
|
189
|
-
//# sourceMappingURL=middleware.cjs.map
|