exisjs 0.5.0 → 0.5.2
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/adapters/aws-lambda.d.ts.map +1 -1
- package/dist/adapters/aws-lambda.js +10 -3
- package/dist/adapters/aws-lambda.js.map +1 -1
- package/dist/auth/jwt.d.ts +2 -2
- package/dist/auth/jwt.d.ts.map +1 -1
- package/dist/auth/jwt.js +17 -8
- package/dist/auth/jwt.js.map +1 -1
- package/dist/auth/session.d.ts.map +1 -1
- package/dist/auth/session.js +5 -4
- package/dist/auth/session.js.map +1 -1
- package/dist/cache/store.d.ts +2 -0
- package/dist/cache/store.d.ts.map +1 -1
- package/dist/cache/store.js +20 -1
- package/dist/cache/store.js.map +1 -1
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +48 -12
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +45 -2
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/exports.d.ts.map +1 -1
- package/dist/cli/commands/exports.js +0 -1
- package/dist/cli/commands/exports.js.map +1 -1
- package/dist/cli/commands/start.d.ts +1 -0
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +3 -0
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/index.js +2 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/resolve-aliases.js +3 -4
- package/dist/cli/resolve-aliases.js.map +1 -1
- package/dist/cron/scheduler.d.ts +2 -1
- package/dist/cron/scheduler.d.ts.map +1 -1
- package/dist/cron/scheduler.js +12 -2
- package/dist/cron/scheduler.js.map +1 -1
- package/dist/decorators/index.d.ts +1 -1
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js +2 -2
- package/dist/decorators/index.js.map +1 -1
- package/dist/di/container.d.ts.map +1 -1
- package/dist/di/container.js +6 -4
- package/dist/di/container.js.map +1 -1
- package/dist/exports/app.d.ts +2 -0
- package/dist/exports/app.d.ts.map +1 -0
- package/dist/exports/app.js +8 -0
- package/dist/exports/app.js.map +1 -0
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -23
- package/dist/index.js.map +1 -1
- package/dist/integrations/jwt.d.ts.map +1 -1
- package/dist/integrations/jwt.js +4 -2
- package/dist/integrations/jwt.js.map +1 -1
- package/dist/integrations/prisma.d.ts.map +1 -1
- package/dist/integrations/prisma.js +12 -0
- package/dist/integrations/prisma.js.map +1 -1
- package/dist/lib/start-server.js +25 -0
- package/dist/lib/start-server.js.map +1 -1
- package/dist/middleware/cache.d.ts +6 -1
- package/dist/middleware/cache.d.ts.map +1 -1
- package/dist/middleware/cache.js +3 -2
- package/dist/middleware/cache.js.map +1 -1
- package/dist/middleware/dedupe.d.ts +3 -3
- package/dist/middleware/dedupe.d.ts.map +1 -1
- package/dist/middleware/dedupe.js +5 -2
- package/dist/middleware/dedupe.js.map +1 -1
- package/dist/middleware/idempotency.d.ts +7 -4
- package/dist/middleware/idempotency.d.ts.map +1 -1
- package/dist/middleware/idempotency.js +9 -7
- package/dist/middleware/idempotency.js.map +1 -1
- package/dist/middleware/ip-filter.d.ts +6 -4
- package/dist/middleware/ip-filter.d.ts.map +1 -1
- package/dist/middleware/ip-filter.js +65 -10
- package/dist/middleware/ip-filter.js.map +1 -1
- package/dist/middleware/middleware.d.ts +4 -1
- package/dist/middleware/middleware.d.ts.map +1 -1
- package/dist/middleware/middleware.js +3 -3
- package/dist/middleware/middleware.js.map +1 -1
- package/dist/middleware/rate-limit.d.ts +12 -0
- package/dist/middleware/rate-limit.d.ts.map +1 -0
- package/dist/middleware/rate-limit.js +67 -0
- package/dist/middleware/rate-limit.js.map +1 -0
- package/dist/middleware/security.d.ts +5 -7
- package/dist/middleware/security.d.ts.map +1 -1
- package/dist/middleware/security.js +67 -87
- package/dist/middleware/security.js.map +1 -1
- package/dist/queue/drivers/MemoryDriver.d.ts +2 -1
- package/dist/queue/drivers/MemoryDriver.d.ts.map +1 -1
- package/dist/queue/drivers/MemoryDriver.js +15 -1
- package/dist/queue/drivers/MemoryDriver.js.map +1 -1
- package/dist/queue/drivers/RedisDriver.d.ts +2 -1
- package/dist/queue/drivers/RedisDriver.d.ts.map +1 -1
- package/dist/queue/drivers/RedisDriver.js +11 -1
- package/dist/queue/drivers/RedisDriver.js.map +1 -1
- package/dist/queue/types.d.ts +8 -4
- package/dist/queue/types.d.ts.map +1 -1
- package/dist/queue/worker.d.ts.map +1 -1
- package/dist/queue/worker.js +17 -1
- package/dist/queue/worker.js.map +1 -1
- package/dist/server/bootstrapper.d.ts.map +1 -1
- package/dist/server/bootstrapper.js +0 -30
- package/dist/server/bootstrapper.js.map +1 -1
- package/dist/server/cluster.d.ts.map +1 -1
- package/dist/server/cluster.js +16 -1
- package/dist/server/cluster.js.map +1 -1
- package/dist/server/queue-manager.d.ts.map +1 -1
- package/dist/server/queue-manager.js +9 -4
- package/dist/server/queue-manager.js.map +1 -1
- package/dist/server/uws-adapter.d.ts.map +1 -1
- package/dist/server/uws-adapter.js +30 -7
- package/dist/server/uws-adapter.js.map +1 -1
- package/dist/server/ws-orchestrator.d.ts.map +1 -1
- package/dist/server/ws-orchestrator.js +0 -5
- package/dist/server/ws-orchestrator.js.map +1 -1
- package/dist/swagger/index.d.ts.map +1 -1
- package/dist/swagger/index.js +19 -2
- package/dist/swagger/index.js.map +1 -1
- package/dist/testing/index.d.ts +1 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +19 -13
- package/dist/testing/index.js.map +1 -1
- package/dist/threads/pool.d.ts +1 -0
- package/dist/threads/pool.d.ts.map +1 -1
- package/dist/threads/pool.js +3 -3
- package/dist/threads/pool.js.map +1 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +5 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/errors.d.ts +9 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +35 -4
- package/dist/utils/errors.js.map +1 -1
- package/package.json +5 -7
- package/dist/cli/optimizers/aot-routes.d.ts +0 -2
- package/dist/cli/optimizers/aot-routes.d.ts.map +0 -1
- package/dist/cli/optimizers/aot-routes.js +0 -59
- package/dist/cli/optimizers/aot-routes.js.map +0 -1
- package/dist/cli/optimizers/precompile-serializers.d.ts +0 -2
- package/dist/cli/optimizers/precompile-serializers.d.ts.map +0 -1
- package/dist/cli/optimizers/precompile-serializers.js +0 -68
- package/dist/cli/optimizers/precompile-serializers.js.map +0 -1
- package/dist/cli/optimizers/tree-shake.d.ts +0 -2
- package/dist/cli/optimizers/tree-shake.d.ts.map +0 -1
- package/dist/cli/optimizers/tree-shake.js +0 -64
- package/dist/cli/optimizers/tree-shake.js.map +0 -1
- package/dist/exports/security.d.ts +0 -3
- package/dist/exports/security.d.ts.map +0 -1
- package/dist/exports/security.js +0 -13
- package/dist/exports/security.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/middleware/security.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAmC,MAAM,UAAU,CAAA;AAKxE,MAAM,WAAW,aAAa;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,OAAO,CAAA;KAAE,CAAA;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAAA;CACzD;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/middleware/security.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAmC,MAAM,UAAU,CAAA;AAKxE,MAAM,WAAW,aAAa;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,OAAO,CAAA;KAAE,CAAA;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAAA;CACzD;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAoE3D;AAID,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE;QACd,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAA;QACpC,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF;AA2BD;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAmElD;AAID,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,OAAO,CAqB5D;AAID,wBAAgB,GAAG,IAAI,OAAO,CAqB7B;AAmBD,wBAAgB,aAAa,IAAI,OAAO,CASvC;AAID,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,wBAAgB,UAAU,CACxB,OAAO,GAAE,iBAAmC,GAC3C,OAAO,CAYT"}
|
|
@@ -7,9 +7,7 @@ exports.helmet = helmet;
|
|
|
7
7
|
exports.csrf = csrf;
|
|
8
8
|
exports.timeout = timeout;
|
|
9
9
|
exports.hpp = hpp;
|
|
10
|
-
exports.xss = xss;
|
|
11
10
|
exports.mongoSanitize = mongoSanitize;
|
|
12
|
-
exports.sqlSanitize = sqlSanitize;
|
|
13
11
|
exports.dbSanitize = dbSanitize;
|
|
14
12
|
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
15
13
|
const errors_1 = require("../utils/errors");
|
|
@@ -45,37 +43,75 @@ function helmet(options = {}) {
|
|
|
45
43
|
: 'DENY';
|
|
46
44
|
staticHeaders['X-Frame-Options'] = action;
|
|
47
45
|
}
|
|
48
|
-
if (options.contentSecurityPolicy
|
|
46
|
+
if (options.contentSecurityPolicy &&
|
|
47
|
+
!options.contentSecurityPolicy.includes('{nonce}')) {
|
|
49
48
|
staticHeaders['Content-Security-Policy'] = options.contentSecurityPolicy;
|
|
50
49
|
}
|
|
51
50
|
const hidePoweredBy = options.hidePoweredBy !== false;
|
|
52
51
|
const headerEntries = Object.entries(staticHeaders);
|
|
53
52
|
return (req, res, next) => {
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
// Generate CSP nonce if needed
|
|
54
|
+
if (options.contentSecurityPolicy &&
|
|
55
|
+
options.contentSecurityPolicy.includes('{nonce}')) {
|
|
56
|
+
const nonce = node_crypto_1.default.randomBytes(16).toString('base64url');
|
|
57
|
+
req.cspNonce = nonce;
|
|
58
|
+
res.setHeader('Content-Security-Policy', options.contentSecurityPolicy.replace(/\{nonce\}/g, nonce));
|
|
56
59
|
}
|
|
57
60
|
if (hidePoweredBy) {
|
|
58
61
|
res.removeHeader('X-Powered-By');
|
|
59
62
|
}
|
|
63
|
+
for (const [key, value] of headerEntries) {
|
|
64
|
+
res.setHeader(key, value);
|
|
65
|
+
}
|
|
60
66
|
next();
|
|
61
67
|
};
|
|
62
68
|
}
|
|
69
|
+
function signCsrfToken(val, secret) {
|
|
70
|
+
const signature = node_crypto_1.default
|
|
71
|
+
.createHmac('sha256', secret)
|
|
72
|
+
.update(val)
|
|
73
|
+
.digest('base64url');
|
|
74
|
+
return `${val}.${signature}`;
|
|
75
|
+
}
|
|
76
|
+
function unsignCsrfToken(val, secret) {
|
|
77
|
+
const parts = val.split('.');
|
|
78
|
+
if (parts.length !== 2)
|
|
79
|
+
return false;
|
|
80
|
+
const [str, signature] = parts;
|
|
81
|
+
const expectedSignature = node_crypto_1.default
|
|
82
|
+
.createHmac('sha256', secret)
|
|
83
|
+
.update(str)
|
|
84
|
+
.digest('base64url');
|
|
85
|
+
const sigBuf = Buffer.from(signature);
|
|
86
|
+
const expectedBuf = Buffer.from(expectedSignature);
|
|
87
|
+
if (sigBuf.length !== expectedBuf.length)
|
|
88
|
+
return false;
|
|
89
|
+
if (!node_crypto_1.default.timingSafeEqual(sigBuf, expectedBuf))
|
|
90
|
+
return false;
|
|
91
|
+
return str;
|
|
92
|
+
}
|
|
63
93
|
/**
|
|
64
|
-
* CSRF middleware using Double Submit Cookie pattern.
|
|
65
|
-
* Generates a random token on GET requests and sets it as a cookie.
|
|
66
|
-
* Requires the client to send the same token in a header on state-changing requests.
|
|
94
|
+
* CSRF middleware using Signed Double Submit Cookie pattern.
|
|
95
|
+
* Generates a random token on GET requests and sets it as a signed cookie.
|
|
96
|
+
* Requires the client to send the same unsigned token in a header on state-changing requests.
|
|
67
97
|
*/
|
|
68
|
-
function csrf(options
|
|
98
|
+
function csrf(options) {
|
|
99
|
+
if (!options.secret || options.secret.length < 32) {
|
|
100
|
+
throw new Error('CSRF options.secret must be at least 32 characters long');
|
|
101
|
+
}
|
|
69
102
|
const cookieName = options.cookieName || 'csrf-token';
|
|
70
103
|
const headerName = (options.headerName || 'x-csrf-token').toLowerCase();
|
|
71
104
|
const generateToken = () => node_crypto_1.default.randomUUID();
|
|
72
105
|
return (req, res, next) => {
|
|
73
|
-
|
|
74
|
-
let token =
|
|
75
|
-
|
|
106
|
+
const rawCookie = req.cookies[cookieName];
|
|
107
|
+
let token = false;
|
|
108
|
+
if (rawCookie) {
|
|
109
|
+
token = unsignCsrfToken(rawCookie, options.secret);
|
|
110
|
+
}
|
|
111
|
+
// If no valid token exists in the signed cookie, generate a new one
|
|
76
112
|
if (!token) {
|
|
77
113
|
token = generateToken();
|
|
78
|
-
res.cookie(cookieName, token, {
|
|
114
|
+
res.cookie(cookieName, signCsrfToken(token, options.secret), {
|
|
79
115
|
httpOnly: options.cookieOptions?.httpOnly ?? false, // Must be readable by client JS to send in header
|
|
80
116
|
secure: options.cookieOptions?.secure ??
|
|
81
117
|
process.env.NODE_ENV === 'production',
|
|
@@ -91,11 +127,27 @@ function csrf(options = {}) {
|
|
|
91
127
|
if (['GET', 'HEAD', 'OPTIONS'].includes(req.method)) {
|
|
92
128
|
return next();
|
|
93
129
|
}
|
|
94
|
-
// For state-changing methods, validate the header token matches the cookie
|
|
130
|
+
// For state-changing methods, validate the header token matches the unsigned cookie token
|
|
95
131
|
const headerToken = req.get(headerName);
|
|
96
132
|
if (!headerToken || headerToken !== token) {
|
|
97
133
|
return next(new errors_1.HttpError('Invalid CSRF token', 403, 'CSRF_FAILED'));
|
|
98
134
|
}
|
|
135
|
+
// Additional security layer: Verify Origin or Referer matches the Host
|
|
136
|
+
const origin = req.get('origin');
|
|
137
|
+
const referer = req.get('referer');
|
|
138
|
+
const host = req.get('host');
|
|
139
|
+
if (origin || referer) {
|
|
140
|
+
const source = origin || referer || '';
|
|
141
|
+
try {
|
|
142
|
+
const sourceHost = new URL(source).host;
|
|
143
|
+
if (sourceHost !== host) {
|
|
144
|
+
return next(new errors_1.HttpError('CSRF Origin mismatch', 403, 'CSRF_FAILED'));
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
return next(new errors_1.HttpError('Invalid Origin/Referer format', 403, 'CSRF_FAILED'));
|
|
149
|
+
}
|
|
150
|
+
}
|
|
99
151
|
next();
|
|
100
152
|
};
|
|
101
153
|
}
|
|
@@ -142,42 +194,6 @@ function hpp() {
|
|
|
142
194
|
next();
|
|
143
195
|
};
|
|
144
196
|
}
|
|
145
|
-
// ─── XSS Sanitization ─────────────────────────────────────────────────────────
|
|
146
|
-
function sanitizeHtml(str) {
|
|
147
|
-
if (typeof str !== 'string')
|
|
148
|
-
return str;
|
|
149
|
-
return str
|
|
150
|
-
.replace(/&/g, '&')
|
|
151
|
-
.replace(/</g, '<')
|
|
152
|
-
.replace(/>/g, '>')
|
|
153
|
-
.replace(/"/g, '"')
|
|
154
|
-
.replace(/'/g, ''');
|
|
155
|
-
}
|
|
156
|
-
function traverseAndSanitizeXss(obj) {
|
|
157
|
-
if (typeof obj === 'string')
|
|
158
|
-
return sanitizeHtml(obj);
|
|
159
|
-
if (Array.isArray(obj))
|
|
160
|
-
return obj.map(traverseAndSanitizeXss);
|
|
161
|
-
if (obj && typeof obj === 'object') {
|
|
162
|
-
const sanitized = {};
|
|
163
|
-
for (const [k, v] of Object.entries(obj)) {
|
|
164
|
-
sanitized[k] = traverseAndSanitizeXss(v);
|
|
165
|
-
}
|
|
166
|
-
return sanitized;
|
|
167
|
-
}
|
|
168
|
-
return obj;
|
|
169
|
-
}
|
|
170
|
-
function xss() {
|
|
171
|
-
return (req, res, next) => {
|
|
172
|
-
if (req.body)
|
|
173
|
-
req.body = traverseAndSanitizeXss(req.body);
|
|
174
|
-
if (Object.keys(req.query).length > 0)
|
|
175
|
-
req.query = traverseAndSanitizeXss(req.query);
|
|
176
|
-
if (Object.keys(req.params).length > 0)
|
|
177
|
-
req.params = traverseAndSanitizeXss(req.params);
|
|
178
|
-
next();
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
197
|
// ─── NoSQL Injection Protection ───────────────────────────────────────────────
|
|
182
198
|
function sanitizeMongo(obj) {
|
|
183
199
|
if (Array.isArray(obj))
|
|
@@ -205,35 +221,7 @@ function mongoSanitize() {
|
|
|
205
221
|
next();
|
|
206
222
|
};
|
|
207
223
|
}
|
|
208
|
-
|
|
209
|
-
const SQL_INJECTION_REGEX = /(?:\b(?:UNION|SELECT|INSERT|UPDATE|DELETE|DROP|EXEC|ALTER|TRUNCATE)\b)|(?:--|;)/i;
|
|
210
|
-
function sanitizeSql(obj) {
|
|
211
|
-
if (typeof obj === 'string') {
|
|
212
|
-
return obj.replace(new RegExp(SQL_INJECTION_REGEX, 'gi'), '[FILTERED]');
|
|
213
|
-
}
|
|
214
|
-
if (Array.isArray(obj))
|
|
215
|
-
return obj.map(sanitizeSql);
|
|
216
|
-
if (obj && typeof obj === 'object') {
|
|
217
|
-
const sanitized = {};
|
|
218
|
-
for (const [k, v] of Object.entries(obj)) {
|
|
219
|
-
sanitized[k] = sanitizeSql(v);
|
|
220
|
-
}
|
|
221
|
-
return sanitized;
|
|
222
|
-
}
|
|
223
|
-
return obj;
|
|
224
|
-
}
|
|
225
|
-
function sqlSanitize() {
|
|
226
|
-
return (req, res, next) => {
|
|
227
|
-
if (req.body)
|
|
228
|
-
req.body = sanitizeSql(req.body);
|
|
229
|
-
if (Object.keys(req.query).length > 0)
|
|
230
|
-
req.query = sanitizeSql(req.query);
|
|
231
|
-
if (Object.keys(req.params).length > 0)
|
|
232
|
-
req.params = sanitizeSql(req.params);
|
|
233
|
-
next();
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
function dbSanitize(options = { mongo: true, sql: false }) {
|
|
224
|
+
function dbSanitize(options = { mongo: true }) {
|
|
237
225
|
return (req, res, next) => {
|
|
238
226
|
if (options.mongo) {
|
|
239
227
|
if (req.body)
|
|
@@ -243,14 +231,6 @@ function dbSanitize(options = { mongo: true, sql: false }) {
|
|
|
243
231
|
if (Object.keys(req.params).length > 0)
|
|
244
232
|
req.params = sanitizeMongo(req.params);
|
|
245
233
|
}
|
|
246
|
-
if (options.sql) {
|
|
247
|
-
if (req.body)
|
|
248
|
-
req.body = sanitizeSql(req.body);
|
|
249
|
-
if (Object.keys(req.query).length > 0)
|
|
250
|
-
req.query = sanitizeSql(req.query);
|
|
251
|
-
if (Object.keys(req.params).length > 0)
|
|
252
|
-
req.params = sanitizeSql(req.params);
|
|
253
|
-
}
|
|
254
234
|
next();
|
|
255
235
|
};
|
|
256
236
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/middleware/security.ts"],"names":[],"mappings":";;;;;AAkBA,
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/middleware/security.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { QueueDriver, JobPayload, JobDefinition } from '../types';
|
|
|
2
2
|
export declare class MemoryQueueDriver implements QueueDriver {
|
|
3
3
|
private pending;
|
|
4
4
|
private processing;
|
|
5
|
+
private deadLetter;
|
|
5
6
|
private getList;
|
|
6
7
|
enqueue(name: string, payload: JobPayload, maxQueue?: number): Promise<string>;
|
|
7
8
|
poll(jobs: Map<string, JobDefinition>): Promise<{
|
|
@@ -10,7 +11,7 @@ export declare class MemoryQueueDriver implements QueueDriver {
|
|
|
10
11
|
payloadStr: string;
|
|
11
12
|
} | null>;
|
|
12
13
|
acknowledge(jobName: string, jobId: string): Promise<void>;
|
|
13
|
-
fail(jobDef: JobDefinition, jobId: string, payload: JobPayload, maxAttempts: number): Promise<void>;
|
|
14
|
+
fail(jobDef: JobDefinition, jobId: string, payload: JobPayload, maxAttempts: number, error: Error): Promise<void>;
|
|
14
15
|
sweep(jobs: Map<string, JobDefinition>): Promise<void>;
|
|
15
16
|
close(): Promise<void>;
|
|
16
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryDriver.d.ts","sourceRoot":"","sources":["../../../src/queue/drivers/MemoryDriver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAQtE,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,UAAU,CAAiC;IAEnD,OAAO,CAAC,OAAO;IAOT,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,UAAU,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;IAoBZ,IAAI,CACR,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAC/B,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAgCpE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,IAAI,CACR,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"MemoryDriver.d.ts","sourceRoot":"","sources":["../../../src/queue/drivers/MemoryDriver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAQtE,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,UAAU,CAAiC;IAEnD,OAAO,CAAC,OAAO;IAOT,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,UAAU,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;IAoBZ,IAAI,CACR,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAC/B,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAgCpE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,IAAI,CACR,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,IAAI,CAAC;IAmCV,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BtD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
|
|
@@ -5,6 +5,7 @@ class MemoryQueueDriver {
|
|
|
5
5
|
constructor() {
|
|
6
6
|
this.pending = new Map();
|
|
7
7
|
this.processing = new Map();
|
|
8
|
+
this.deadLetter = new Map();
|
|
8
9
|
}
|
|
9
10
|
getList(map, key) {
|
|
10
11
|
if (!map.has(key)) {
|
|
@@ -59,7 +60,7 @@ class MemoryQueueDriver {
|
|
|
59
60
|
processingList.splice(index, 1);
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
|
-
async fail(jobDef, jobId, payload, maxAttempts) {
|
|
63
|
+
async fail(jobDef, jobId, payload, maxAttempts, error) {
|
|
63
64
|
const processingList = this.getList(this.processing, jobDef.name);
|
|
64
65
|
const index = processingList.findIndex((j) => j.id === jobId);
|
|
65
66
|
if (index !== -1) {
|
|
@@ -76,6 +77,19 @@ class MemoryQueueDriver {
|
|
|
76
77
|
});
|
|
77
78
|
pendingList.sort((a, b) => a.score - b.score);
|
|
78
79
|
}
|
|
80
|
+
else {
|
|
81
|
+
const deadLetterList = this.getList(this.deadLetter, jobDef.name);
|
|
82
|
+
deadLetterList.push({
|
|
83
|
+
id: jobId,
|
|
84
|
+
payloadStr: JSON.stringify(payload),
|
|
85
|
+
score: Date.now(),
|
|
86
|
+
});
|
|
87
|
+
if (jobDef.onJobFailedPermanently) {
|
|
88
|
+
Promise.resolve(jobDef.onJobFailedPermanently(payload, error)).catch(() => {
|
|
89
|
+
/* ignore */
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
79
93
|
}
|
|
80
94
|
async sweep(jobs) {
|
|
81
95
|
const now = Date.now();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryDriver.js","sourceRoot":"","sources":["../../../src/queue/drivers/MemoryDriver.ts"],"names":[],"mappings":";;;AAQA,MAAa,iBAAiB;IAA9B;QACU,YAAO,GAAG,IAAI,GAAG,EAAuB,CAAA;QACxC,eAAU,GAAG,IAAI,GAAG,EAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"MemoryDriver.js","sourceRoot":"","sources":["../../../src/queue/drivers/MemoryDriver.ts"],"names":[],"mappings":";;;AAQA,MAAa,iBAAiB;IAA9B;QACU,YAAO,GAAG,IAAI,GAAG,EAAuB,CAAA;QACxC,eAAU,GAAG,IAAI,GAAG,EAAuB,CAAA;QAC3C,eAAU,GAAG,IAAI,GAAG,EAAuB,CAAA;IAkJrD,CAAC;IAhJS,OAAO,CAAC,GAA6B,EAAE,GAAW;QACxD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAClB,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAAY,EACZ,OAAmB,EACnB,QAAiB;QAEjB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACpD,IAAI,QAAQ,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CACb,qDAAqD,QAAQ,qBAAqB,IAAI,GAAG,CAC1F,CAAA;QACH,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;QACrD,WAAW,CAAC,IAAI,CAAC;YACf,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACnC,KAAK;SACN,CAAC,CAAA;QACF,0BAA0B;QAC1B,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;QAE7C,OAAO,OAAO,CAAC,EAAE,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,IAAgC;QAEhC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAEtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACpD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC;gBAC1D,cAAc;gBACd,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,EAAG,CAAA;gBAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAC7B,MAAM,iBAAiB,GACrB,MAAM,EAAE,cAAc,EAAE,iBAAiB,IAAI,KAAK,CAAA;gBAEpD,oCAAoC;gBACpC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;gBAC1D,cAAc,CAAC,IAAI,CAAC;oBAClB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,KAAK,EAAE,GAAG,GAAG,iBAAiB;iBAC/B,CAAC,CAAA;gBAEF,OAAO;oBACL,QAAQ,EAAE,UAAU,IAAI,UAAU;oBAClC,KAAK,EAAE,GAAG,CAAC,EAAE;oBACb,UAAU,EAAE,GAAG,CAAC,UAAU;iBAC3B,CAAA;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,KAAa;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAC7D,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;QAC7D,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CACR,MAAqB,EACrB,KAAa,EACb,OAAmB,EACnB,WAAmB,EACnB,KAAY;QAEZ,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACjE,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;QAC7D,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACjC,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,GAAG,WAAW,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,CAAA;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;YAEhC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAC3D,WAAW,CAAC,IAAI,CAAC;gBACf,EAAE,EAAE,KAAK;gBACT,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBACnC,KAAK;aACN,CAAC,CAAA;YACF,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YACjE,cAAc,CAAC,IAAI,CAAC;gBAClB,EAAE,EAAE,KAAK;gBACT,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBACnC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE;aAClB,CAAC,CAAA;YACF,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;gBAClC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAClE,GAAG,EAAE;oBACH,YAAY;gBACd,CAAC,CACF,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAgC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;YAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YAEpD,eAAe;YACf,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAA;YAC5D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,yBAAyB;gBACzB,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;gBAC7D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;gBAEpC,sBAAsB;gBACtB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;oBAC1B,WAAW,CAAC,IAAI,CAAC;wBACf,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,KAAK,EAAE,GAAG;qBACX,CAAC,CAAA;gBACJ,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACpB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;IACzB,CAAC;CACF;AArJD,8CAqJC"}
|
|
@@ -11,8 +11,9 @@ export declare class RedisQueueDriver implements QueueDriver {
|
|
|
11
11
|
payloadStr: string;
|
|
12
12
|
} | null>;
|
|
13
13
|
acknowledge(jobName: string, jobId: string): Promise<void>;
|
|
14
|
-
fail(jobDef: JobDefinition, jobId: string, payload: JobPayload, maxAttempts: number): Promise<void>;
|
|
14
|
+
fail(jobDef: JobDefinition, jobId: string, payload: JobPayload, maxAttempts: number, error: Error): Promise<void>;
|
|
15
15
|
sweep(jobs: Map<string, JobDefinition>): Promise<void>;
|
|
16
16
|
close(): Promise<void>;
|
|
17
|
+
getRedis(): any;
|
|
17
18
|
}
|
|
18
19
|
//# sourceMappingURL=RedisDriver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedisDriver.d.ts","sourceRoot":"","sources":["../../../src/queue/drivers/RedisDriver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAEtE,qBAAa,gBAAiB,YAAW,WAAW;IAClD,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,MAAM,CAAQ;gBAEV,KAAK,EAAE,KAAK,EAAE,MAAM,SAAe;IAKzC,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,UAAU,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;IAmDZ,IAAI,CACR,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAC/B,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IA6CpE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1D,IAAI,CACR,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"RedisDriver.d.ts","sourceRoot":"","sources":["../../../src/queue/drivers/RedisDriver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAEtE,qBAAa,gBAAiB,YAAW,WAAW;IAClD,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,MAAM,CAAQ;gBAEV,KAAK,EAAE,KAAK,EAAE,MAAM,SAAe;IAKzC,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,UAAU,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;IAmDZ,IAAI,CACR,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAC/B,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IA6CpE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1D,IAAI,CACR,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,IAAI,CAAC;IAkCV,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBtD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,QAAQ,IAAI,GAAG;CAGhB"}
|
|
@@ -75,7 +75,7 @@ class RedisQueueDriver {
|
|
|
75
75
|
.hdel(hashKey, jobId)
|
|
76
76
|
.exec();
|
|
77
77
|
}
|
|
78
|
-
async fail(jobDef, jobId, payload, maxAttempts) {
|
|
78
|
+
async fail(jobDef, jobId, payload, maxAttempts, error) {
|
|
79
79
|
const processingKey = `${this.prefix}:${jobDef.name}:processing`;
|
|
80
80
|
const pendingKey = `${this.prefix}:${jobDef.name}:pending`;
|
|
81
81
|
const hashKey = `${this.prefix}:${jobDef.name}:payloads`;
|
|
@@ -90,11 +90,18 @@ class RedisQueueDriver {
|
|
|
90
90
|
.exec();
|
|
91
91
|
}
|
|
92
92
|
else {
|
|
93
|
+
const deadLetterKey = `${this.prefix}:${jobDef.name}:dead`;
|
|
93
94
|
await this.redis
|
|
94
95
|
.pipeline()
|
|
95
96
|
.zrem(processingKey, jobId)
|
|
96
97
|
.hdel(hashKey, jobId)
|
|
98
|
+
.hset(deadLetterKey, jobId, JSON.stringify(payload))
|
|
97
99
|
.exec();
|
|
100
|
+
if (jobDef.onJobFailedPermanently) {
|
|
101
|
+
Promise.resolve(jobDef.onJobFailedPermanently(payload, error)).catch(() => {
|
|
102
|
+
/* ignore */
|
|
103
|
+
});
|
|
104
|
+
}
|
|
98
105
|
}
|
|
99
106
|
}
|
|
100
107
|
async sweep(jobs) {
|
|
@@ -115,6 +122,9 @@ class RedisQueueDriver {
|
|
|
115
122
|
async close() {
|
|
116
123
|
await this.redis.quit();
|
|
117
124
|
}
|
|
125
|
+
getRedis() {
|
|
126
|
+
return this.redis;
|
|
127
|
+
}
|
|
118
128
|
}
|
|
119
129
|
exports.RedisQueueDriver = RedisQueueDriver;
|
|
120
130
|
//# sourceMappingURL=RedisDriver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedisDriver.js","sourceRoot":"","sources":["../../../src/queue/drivers/RedisDriver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RedisDriver.js","sourceRoot":"","sources":["../../../src/queue/drivers/RedisDriver.ts"],"names":[],"mappings":"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"}
|
package/dist/queue/types.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type Redis from 'ioredis';
|
|
2
1
|
export interface QueueConfig {
|
|
3
|
-
driver?: 'redis' | 'memory'
|
|
2
|
+
driver?: 'redis' | 'memory';
|
|
4
3
|
redisUrl?: string;
|
|
5
|
-
redis?:
|
|
4
|
+
redis?: any;
|
|
6
5
|
concurrency?: number;
|
|
7
6
|
maxConcurrent?: number;
|
|
8
7
|
maxQueue?: number;
|
|
@@ -35,6 +34,10 @@ export interface JobDefinition<T = unknown> {
|
|
|
35
34
|
parse: (val: unknown) => T;
|
|
36
35
|
};
|
|
37
36
|
defaultOptions?: JobOptions;
|
|
37
|
+
onJobStart?: (payload: JobPayload<T>) => Promise<void> | void;
|
|
38
|
+
onJobSuccess?: (payload: JobPayload<T>) => Promise<void> | void;
|
|
39
|
+
onJobFailed?: (payload: JobPayload<T>, error: Error) => Promise<void> | void;
|
|
40
|
+
onJobFailedPermanently?: (payload: JobPayload<T>, error: Error) => Promise<void> | void;
|
|
38
41
|
}
|
|
39
42
|
export interface QueueDriver {
|
|
40
43
|
enqueue(name: string, payload: JobPayload, maxQueue?: number): Promise<string>;
|
|
@@ -44,8 +47,9 @@ export interface QueueDriver {
|
|
|
44
47
|
payloadStr: string;
|
|
45
48
|
} | null>;
|
|
46
49
|
acknowledge(jobName: string, jobId: string): Promise<void>;
|
|
47
|
-
fail(jobDef: JobDefinition, jobId: string, payload: JobPayload, maxAttempts: number): Promise<void>;
|
|
50
|
+
fail(jobDef: JobDefinition, jobId: string, payload: JobPayload, maxAttempts: number, error: Error): Promise<void>;
|
|
48
51
|
sweep(jobs: Map<string, JobDefinition>): Promise<void>;
|
|
49
52
|
close(): Promise<void>;
|
|
53
|
+
getRedis?(): any;
|
|
50
54
|
}
|
|
51
55
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/queue/types.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/queue/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/queue/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EAEb,WAAW,EACZ,MAAM,SAAS,CAAA;AAOhB,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,IAAI,CAAmC;IAC/C,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,MAAM,CAA6C;IAC3D,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,UAAU,CAA0B;gBAG1C,MAAM,EAAE,WAAW,EACnB,MAAM,CAAC,EAAE,GAAG,EACZ,cAAc,CAAC,EAAE,WAAW,GAAG,IAAI;IAiCrC,WAAW,CAAC,MAAM,EAAE,aAAa;IAI3B,KAAK;IAiBX,OAAO,CAAC,YAAY;YAaN,IAAI;YA4CJ,UAAU;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/queue/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EAEb,WAAW,EACZ,MAAM,SAAS,CAAA;AAOhB,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,IAAI,CAAmC;IAC/C,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,MAAM,CAA6C;IAC3D,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,UAAU,CAA0B;gBAG1C,MAAM,EAAE,WAAW,EACnB,MAAM,CAAC,EAAE,GAAG,EACZ,cAAc,CAAC,EAAE,WAAW,GAAG,IAAI;IAiCrC,WAAW,CAAC,MAAM,EAAE,aAAa;IAI3B,KAAK;IAiBX,OAAO,CAAC,YAAY;YAaN,IAAI;YA4CJ,UAAU;IA2DlB,IAAI;CAWX"}
|
package/dist/queue/worker.js
CHANGED
|
@@ -123,6 +123,11 @@ class ExisWorker {
|
|
|
123
123
|
payload.data = jobDef.schema.parse(payload.data);
|
|
124
124
|
}
|
|
125
125
|
this.logger.debug(`Processing job ${payload.name}:${payload.id} in Thread Pool`);
|
|
126
|
+
if (jobDef.onJobStart) {
|
|
127
|
+
Promise.resolve(jobDef.onJobStart(payload)).catch(() => {
|
|
128
|
+
/* ignore */
|
|
129
|
+
});
|
|
130
|
+
}
|
|
126
131
|
if (jobDef.handler) {
|
|
127
132
|
await jobDef.handler(payload);
|
|
128
133
|
}
|
|
@@ -133,6 +138,11 @@ class ExisWorker {
|
|
|
133
138
|
throw new Error(`Job ${jobDef.name} has no handler or filePath!`);
|
|
134
139
|
}
|
|
135
140
|
this.logger.info(`Completed job ${payload.name}:${payload.id}`);
|
|
141
|
+
if (jobDef.onJobSuccess) {
|
|
142
|
+
Promise.resolve(jobDef.onJobSuccess(payload)).catch(() => {
|
|
143
|
+
/* ignore */
|
|
144
|
+
});
|
|
145
|
+
}
|
|
136
146
|
if (this.driver) {
|
|
137
147
|
await this.driver.acknowledge(jobDef.name, jobId);
|
|
138
148
|
}
|
|
@@ -140,7 +150,13 @@ class ExisWorker {
|
|
|
140
150
|
catch (err) {
|
|
141
151
|
this.logger.error({ err, job: payload }, `Failed job ${jobDef.name}`);
|
|
142
152
|
if (this.driver && payload) {
|
|
143
|
-
|
|
153
|
+
const maxAttempts = payload.opts?.attempts ?? jobDef.defaultOptions?.attempts ?? 1;
|
|
154
|
+
if (payload.attemptsMade < maxAttempts && jobDef.onJobFailed) {
|
|
155
|
+
Promise.resolve(jobDef.onJobFailed(payload, err)).catch(() => {
|
|
156
|
+
/* ignore */
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
await this.driver.fail(jobDef, jobId, payload, maxAttempts, err);
|
|
144
160
|
}
|
|
145
161
|
}
|
|
146
162
|
}
|
package/dist/queue/worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/queue/worker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/queue/worker.ts"],"names":[],"mappings":";;;AAMA,4CAAoD;AAEpD,0CAA4C;AAC5C,yDAA0D;AAC1D,uDAAwD;AAExD,MAAa,UAAU;IASrB,YACE,MAAmB,EACnB,MAAY,EACZ,cAAmC;QAX7B,WAAM,GAAuB,IAAI,CAAA;QACjC,SAAI,GAAG,IAAI,GAAG,EAAyB,CAAA;QACvC,cAAS,GAAG,KAAK,CAAA;QAGjB,kBAAa,GAAG,CAAC,CAAA;QACjB,eAAU,GAAsB,IAAI,CAAA;QAO1C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,CAAA;QAClE,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAA,2BAAkB,GAAE,CAAA;QAE5C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,YAAY,CAAA;QAC5C,MAAM,UAAU,GACd,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAErE,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,cAAc,CAAA;QAC9B,CAAC;aAAM,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,8BAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAA;YACtE,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC3B,iEAAiE;gBACjE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;gBAClC,IAAI,CAAC,MAAM,GAAG,IAAI,8BAAgB,CAChC,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,EAC5D,MAAM,CACP,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAA;YACH,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,IAAI,gCAAiB,EAAE,CAAA;QACvC,CAAC;aAAM,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC;IAED,WAAW,CAAC,MAAqB;QAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAM;QACxB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAM;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,yCAAyC,IAAI,CAAC,WAAW,wBAAwB,CAClF,CAAA;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAElD,IAAI,CAAC,YAAY,EAAE,CAAA;QAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,EAAE,CAAA;QACb,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAM;QAC3C,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,eAAe,CAAC,CAAA;YAC7C,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,YAAY,EAAE,CAAA;YACrB,CAAC;QACH,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAA;IACnB,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAM;QAE3C,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAE7C,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;gBACjC,oFAAoF;gBACpF,uCAAuC;gBACvC,IAAI,OAAO,GAAsB,IAAI,CAAA;gBACrC,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAe,CAAA;gBAChD,CAAC;gBAAC,MAAM,CAAC;oBACP,qBAAqB;gBACvB,CAAC;gBAED,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;oBAC1C,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;oBAClD,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2CAA2C,OAAO,CAAC,IAAI,gCAAgC,CACxF,CAAA;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,IAAI,KAAK,2BAA2B,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,CAAA;YAC9D,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA,CAAC,8BAA8B;QAC9E,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,aAAa,EAAE,CAAA;YACpB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,MAAqB,EACrB,KAAa,EACb,UAAkB;QAElB,IAAI,OAAO,GAAsB,IAAI,CAAA;QACrC,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAe,CAAA;YAC9C,OAAO,CAAC,YAAY,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;YAEtD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAClD,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,kBAAkB,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,iBAAiB,CAC9D,CAAA;YAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACrD,YAAY;gBACd,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAC/B,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC9C,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,OAAO,MAAM,CAAC,IAAI,8BAA8B,CAAC,CAAA;YACnE,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;YAC/D,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACvD,YAAY;gBACd,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;YACrE,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,WAAW,GACf,OAAO,CAAC,IAAI,EAAE,QAAQ,IAAI,MAAM,CAAC,cAAc,EAAE,QAAQ,IAAI,CAAC,CAAA;gBAEhE,IAAI,OAAO,CAAC,YAAY,GAAG,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBAC7D,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBAC3D,YAAY;oBACd,CAAC,CAAC,CAAA;gBACJ,CAAC;gBAED,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,CAAA;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;YAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QACpB,CAAC;IACH,CAAC;CACF;AAjMD,gCAiMC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrapper.d.ts","sourceRoot":"","sources":["../../src/server/bootstrapper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAA;AAErD,OAAO,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAkB,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,MAAM,CAA+C;IAC7D,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,aAAa,CAAqC;IAEnD,OAAO,UAAQ;IACf,OAAO,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,GAAG,IAAI,CAAO;IACtD,eAAe,EAAE,cAAc,GAAG,IAAI,CAAO;gBAExC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;IAkBlB,SAAS,IAAI,UAAU,GAAG,WAAW,GAAG,iBAAiB;IAIhE,OAAO,CAAC,WAAW;IA+CZ,MAAM,CACX,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa,EACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,GACpB,UAAU,GAAG,WAAW,GAAG,iBAAiB;
|
|
1
|
+
{"version":3,"file":"bootstrapper.d.ts","sourceRoot":"","sources":["../../src/server/bootstrapper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAA;AAErD,OAAO,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAkB,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,MAAM,CAA+C;IAC7D,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,aAAa,CAAqC;IAEnD,OAAO,UAAQ;IACf,OAAO,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,GAAG,IAAI,CAAO;IACtD,eAAe,EAAE,cAAc,GAAG,IAAI,CAAO;gBAExC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;IAkBlB,SAAS,IAAI,UAAU,GAAG,WAAW,GAAG,iBAAiB;IAIhE,OAAO,CAAC,WAAW;IA+CZ,MAAM,CACX,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa,EACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,GACpB,UAAU,GAAG,WAAW,GAAG,iBAAiB;IAyJlC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqFzC,UAAU,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAKlD,KAAK,CAAC,OAAO,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAiH5C"}
|
|
@@ -144,21 +144,6 @@ class ServerBootstrapper {
|
|
|
144
144
|
this.app.log.info({ url, env: this.app.options.env, backend: 'uws' }, `Server running at ${url} (uWebSockets.js)`);
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
|
-
if (this.app.options.env === 'production') {
|
|
148
|
-
const handleShutdown = async () => {
|
|
149
|
-
this.app.log.info('Received shutdown signal (SIGTERM/SIGINT)');
|
|
150
|
-
try {
|
|
151
|
-
await this.close();
|
|
152
|
-
process.exit(0);
|
|
153
|
-
}
|
|
154
|
-
catch (err) {
|
|
155
|
-
this.app.log.error({ err }, 'Error during graceful shutdown');
|
|
156
|
-
process.exit(1);
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
process.once('SIGTERM', handleShutdown);
|
|
160
|
-
process.once('SIGINT', handleShutdown);
|
|
161
|
-
}
|
|
162
147
|
// ─── onReady Hook ───
|
|
163
148
|
for (const hook of this.app.hooks.ready) {
|
|
164
149
|
await hook();
|
|
@@ -206,21 +191,6 @@ class ServerBootstrapper {
|
|
|
206
191
|
});
|
|
207
192
|
this.server.listen(port, host, async () => {
|
|
208
193
|
const address = { port, host };
|
|
209
|
-
if (this.app.options.env === 'production') {
|
|
210
|
-
const handleShutdown = async () => {
|
|
211
|
-
this.app.log.info('Received shutdown signal (SIGTERM/SIGINT)');
|
|
212
|
-
try {
|
|
213
|
-
await this.close();
|
|
214
|
-
process.exit(0);
|
|
215
|
-
}
|
|
216
|
-
catch (err) {
|
|
217
|
-
this.app.log.error({ err }, 'Error during graceful shutdown');
|
|
218
|
-
process.exit(1);
|
|
219
|
-
}
|
|
220
|
-
};
|
|
221
|
-
process.once('SIGTERM', handleShutdown);
|
|
222
|
-
process.once('SIGINT', handleShutdown);
|
|
223
|
-
}
|
|
224
194
|
// ─── onReady Hook ───
|
|
225
195
|
for (const hook of this.app.hooks.ready) {
|
|
226
196
|
await hook();
|