@goatlab/node-backend 1.0.1 → 1.1.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/README.md +46 -6
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/server/bootstraps/ExpressTrpcAppConfig.d.ts +118 -0
- package/dist/server/bootstraps/ExpressTrpcAppConfig.js +175 -0
- package/dist/server/bootstraps/ExpressTrpcAppConfig.js.map +1 -0
- package/dist/server/bootstraps/getExpressTrpcApp.d.ts +5 -17
- package/dist/server/bootstraps/getExpressTrpcApp.js +274 -158
- package/dist/server/bootstraps/getExpressTrpcApp.js.map +1 -1
- package/dist/server/middleware/error.middleware.js +4 -0
- package/dist/server/middleware/error.middleware.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getExpressTrpcApp = getExpressTrpcApp;
|
|
4
|
-
const path_1 = require("path");
|
|
5
4
|
const js_utils_1 = require("@goatlab/js-utils");
|
|
6
5
|
const Sentry = require("@sentry/node");
|
|
7
6
|
const trpcExpress = require("@trpc/server/adapters/express");
|
|
@@ -19,7 +18,6 @@ const timeout = require('connect-timeout');
|
|
|
19
18
|
const responseTime = require('response-time');
|
|
20
19
|
const colors_1 = require("kleur/colors");
|
|
21
20
|
const trpc_to_openapi_1 = require("trpc-to-openapi");
|
|
22
|
-
const consts_1 = require("../consts");
|
|
23
21
|
const trpc_context_1 = require("../context/trpc.context");
|
|
24
22
|
const initOpenApiDocs_1 = require("../initOpenApiDocs");
|
|
25
23
|
const error_middleware_1 = require("../middleware/error.middleware");
|
|
@@ -28,142 +26,203 @@ const trpcError_middleware_1 = require("../middleware/trpcError.middleware");
|
|
|
28
26
|
const productionError_middleware_1 = require("../middleware/productionError.middleware");
|
|
29
27
|
const memoryMonitor_middleware_1 = require("../middleware/memoryMonitor.middleware");
|
|
30
28
|
const security_middleware_1 = require("../middleware/security.middleware");
|
|
31
|
-
|
|
32
|
-
//
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
//
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
logger.log(`Starting ${
|
|
29
|
+
const ExpressTrpcAppConfig_1 = require("./ExpressTrpcAppConfig");
|
|
30
|
+
// Helper to detect if running on Cloud Run
|
|
31
|
+
function isCloudRun() {
|
|
32
|
+
return !!process.env.K_SERVICE;
|
|
33
|
+
}
|
|
34
|
+
function getExpressTrpcApp(config) {
|
|
35
|
+
// Apply defaults
|
|
36
|
+
const fullConfig = (0, ExpressTrpcAppConfig_1.getDefaultConfig)(config);
|
|
37
|
+
const { appName, appVersion, port, baseUrl, environment, trpcRouter, sentryService, logger = console, expressResources, customHandlers, features, security, bodyParsing, performance, server: serverConfig, healthCheck, readyCheck, processManagement } = fullConfig;
|
|
38
|
+
logger.log(`Starting ${appName}`);
|
|
41
39
|
const app = express();
|
|
42
40
|
// Performance: Enable compression with optimized settings
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
41
|
+
if (performance?.compression?.enabled !== false) {
|
|
42
|
+
app.use(compression({
|
|
43
|
+
level: performance?.compression?.level || 6,
|
|
44
|
+
threshold: performance?.compression?.threshold || 1024,
|
|
45
|
+
chunkSize: performance?.compression?.chunkSize || 16 * 1024,
|
|
46
|
+
memLevel: performance?.compression?.memLevel || 8,
|
|
47
|
+
// Custom filter to handle various edge cases
|
|
48
|
+
filter: (req, res) => {
|
|
49
|
+
// Skip compression for already compressed content types
|
|
50
|
+
const contentType = res.getHeader('Content-Type');
|
|
51
|
+
const compressedTypes = [
|
|
52
|
+
'image/',
|
|
53
|
+
'audio/',
|
|
54
|
+
'video/',
|
|
55
|
+
'font/',
|
|
56
|
+
'application/pdf',
|
|
57
|
+
'application/zip',
|
|
58
|
+
'application/gzip',
|
|
59
|
+
'application/x-gzip',
|
|
60
|
+
'application/x-rar-compressed',
|
|
61
|
+
'application/x-7z-compressed',
|
|
62
|
+
'application/vnd.ms-fontobject',
|
|
63
|
+
'application/font-woff',
|
|
64
|
+
'application/font-woff2',
|
|
65
|
+
'application/x-font-ttf',
|
|
66
|
+
'application/x-font-truetype',
|
|
67
|
+
'application/x-font-opentype'
|
|
68
|
+
];
|
|
69
|
+
if (contentType &&
|
|
70
|
+
compressedTypes.some(type => contentType.includes(type))) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
// Skip compression for Server-Sent Events
|
|
74
|
+
if (contentType && contentType.includes('text/event-stream')) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
// Skip compression for WebSocket upgrade requests
|
|
78
|
+
if (req.headers.upgrade === 'websocket') {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
// Skip compression if Cache-Control contains no-transform directive
|
|
82
|
+
const cacheControl = req.headers['cache-control'] ||
|
|
83
|
+
res.getHeader('Cache-Control');
|
|
84
|
+
if (cacheControl?.includes('no-transform')) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
// Skip compression for HEAD requests
|
|
88
|
+
if (req.method === 'HEAD') {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
// Skip compression if response already has Content-Encoding header
|
|
92
|
+
const encoding = res.getHeader('Content-Encoding');
|
|
93
|
+
if (encoding && encoding !== 'identity') {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
// Use the default compression filter for all other cases
|
|
97
|
+
return compression.filter(req, res);
|
|
88
98
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
}));
|
|
99
|
+
}));
|
|
100
|
+
}
|
|
93
101
|
// Performance: Add response time header
|
|
94
102
|
app.use(responseTime());
|
|
95
103
|
// Performance: Add memory monitoring middleware
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
104
|
+
let memoryMonitor;
|
|
105
|
+
if (performance?.memoryMonitoring?.enabled !== false) {
|
|
106
|
+
const { middleware: memoryMiddleware, monitor } = (0, memoryMonitor_middleware_1.createMemoryMonitorMiddleware)({
|
|
107
|
+
logger,
|
|
108
|
+
warningThreshold: performance?.memoryMonitoring?.warningThreshold || 90,
|
|
109
|
+
criticalThreshold: performance?.memoryMonitoring?.criticalThreshold || 95,
|
|
110
|
+
monitorInterval: performance?.memoryMonitoring?.monitorInterval || 30000,
|
|
111
|
+
enableGarbageCollection: performance?.memoryMonitoring?.enableGarbageCollection || false,
|
|
112
|
+
addHeaders: performance?.memoryMonitoring?.addHeaders ?? environment !== 'prod'
|
|
113
|
+
});
|
|
114
|
+
app.use(memoryMiddleware);
|
|
115
|
+
memoryMonitor = monitor;
|
|
116
|
+
}
|
|
105
117
|
// Security: Configure CORS with proper settings
|
|
106
|
-
|
|
118
|
+
const corsOptions = security?.cors
|
|
119
|
+
? {
|
|
120
|
+
origin: security.cors.allowedOrigins || false,
|
|
121
|
+
credentials: security.cors.credentials ?? true,
|
|
122
|
+
maxAge: security.cors.maxAge || 86400
|
|
123
|
+
}
|
|
124
|
+
: (0, security_middleware_1.getCorsOptions)();
|
|
125
|
+
app.use(cors(corsOptions));
|
|
107
126
|
// Security: Configure Helmet with enhanced settings
|
|
108
|
-
|
|
127
|
+
const helmetOptions = security?.helmet
|
|
128
|
+
? {
|
|
129
|
+
contentSecurityPolicy: security.helmet.contentSecurityPolicy ?? environment === 'prod',
|
|
130
|
+
crossOriginEmbedderPolicy: security.helmet.crossOriginEmbedderPolicy ??
|
|
131
|
+
(environment !== 'local' && environment !== 'dev')
|
|
132
|
+
}
|
|
133
|
+
: (0, security_middleware_1.getHelmetOptions)();
|
|
134
|
+
app.use(helmet(helmetOptions));
|
|
109
135
|
// Security: Additional security headers
|
|
110
136
|
app.use((0, security_middleware_1.additionalSecurityHeaders)());
|
|
111
|
-
// Security: Add request timeout
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
137
|
+
// Security: Add request timeout
|
|
138
|
+
if (security?.requestTimeout) {
|
|
139
|
+
app.use(timeout(security.requestTimeout));
|
|
140
|
+
app.use((req, _res, next) => {
|
|
141
|
+
if (!req.timedout)
|
|
142
|
+
next();
|
|
143
|
+
});
|
|
144
|
+
}
|
|
117
145
|
// Security: Rate limiting - global
|
|
118
|
-
|
|
146
|
+
if (security?.rateLimit?.global) {
|
|
147
|
+
app.use((0, security_middleware_1.createRateLimiter)({
|
|
148
|
+
windowMs: security.rateLimit.global.windowMs,
|
|
149
|
+
max: security.rateLimit.global.max
|
|
150
|
+
}));
|
|
151
|
+
}
|
|
119
152
|
// Security: Stricter rate limiting for auth endpoints
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
(
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
153
|
+
if (security?.rateLimit?.auth) {
|
|
154
|
+
app.use((req, res, next) => {
|
|
155
|
+
if (req.path.startsWith('/trpc/auth') ||
|
|
156
|
+
req.path.startsWith('/api/auth')) {
|
|
157
|
+
(0, security_middleware_1.createRateLimiter)({
|
|
158
|
+
windowMs: security.rateLimit.auth.windowMs || 15 * 60 * 1000,
|
|
159
|
+
max: security.rateLimit.auth.max || 5,
|
|
160
|
+
skipSuccessfulRequests: true,
|
|
161
|
+
message: 'Too many authentication attempts, please try again later.'
|
|
162
|
+
})(req, res, next);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
next();
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
}
|
|
128
169
|
// Security: API rate limiting
|
|
129
|
-
|
|
130
|
-
|
|
170
|
+
if (security?.rateLimit?.api) {
|
|
171
|
+
app.use('/trpc/', (0, security_middleware_1.createRateLimiter)({
|
|
172
|
+
windowMs: security.rateLimit.api.windowMs,
|
|
173
|
+
max: security.rateLimit.api.max,
|
|
174
|
+
message: 'API rate limit exceeded, please try again later.'
|
|
175
|
+
}));
|
|
176
|
+
app.use('/api/', (0, security_middleware_1.createRateLimiter)({
|
|
177
|
+
windowMs: security.rateLimit.api.windowMs,
|
|
178
|
+
max: security.rateLimit.api.max,
|
|
179
|
+
message: 'API rate limit exceeded, please try again later.'
|
|
180
|
+
}));
|
|
181
|
+
}
|
|
131
182
|
// Enable ETags for better caching
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
183
|
+
if (features?.etag !== false) {
|
|
184
|
+
app.set('etag', features?.etag || 'strong');
|
|
185
|
+
}
|
|
186
|
+
// Enable trust proxy
|
|
187
|
+
if (features?.trustProxy !== false) {
|
|
188
|
+
app.set('trust proxy', true);
|
|
189
|
+
}
|
|
190
|
+
if (features?.sentry && sentryService) {
|
|
135
191
|
Sentry.setupExpressErrorHandler(app);
|
|
136
192
|
}
|
|
137
193
|
// Configure body parsing with security limits
|
|
138
|
-
const jsonLimit = process.env.JSON_BODY_LIMIT || '100kb';
|
|
139
|
-
const urlEncodedLimit = process.env.URL_ENCODED_LIMIT || '100kb';
|
|
140
|
-
const rawLimit = process.env.RAW_BODY_LIMIT || '100kb';
|
|
141
194
|
app.use(express.json({
|
|
142
|
-
limit:
|
|
143
|
-
type: ['application/json', 'text/plain'],
|
|
144
|
-
verify: (req,
|
|
195
|
+
limit: bodyParsing?.json?.limit || '100kb',
|
|
196
|
+
type: bodyParsing?.json?.type || ['application/json', 'text/plain'],
|
|
197
|
+
verify: (req, _res, buf) => {
|
|
145
198
|
// Store raw body for webhook signature verification if needed
|
|
199
|
+
;
|
|
146
200
|
req.rawBody = buf.toString('utf8');
|
|
147
201
|
}
|
|
148
202
|
}));
|
|
149
|
-
app.use(express.urlencoded({
|
|
203
|
+
app.use(express.urlencoded({
|
|
204
|
+
limit: bodyParsing?.urlencoded?.limit || '100kb',
|
|
205
|
+
extended: bodyParsing?.urlencoded?.extended ?? true
|
|
206
|
+
}));
|
|
150
207
|
app.use(express.raw({
|
|
151
|
-
inflate: true,
|
|
152
|
-
limit:
|
|
208
|
+
inflate: bodyParsing?.raw?.inflate ?? true,
|
|
209
|
+
limit: bodyParsing?.raw?.limit || '100kb'
|
|
153
210
|
}));
|
|
154
211
|
// Add cache headers for static content
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
212
|
+
if (performance?.caching?.staticAssets?.maxAge) {
|
|
213
|
+
app.use((req, res, next) => {
|
|
214
|
+
if (req.url.match(/\.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$/)) {
|
|
215
|
+
res.setHeader('Cache-Control', `public, max-age=${performance.caching.staticAssets.maxAge}, immutable`);
|
|
216
|
+
}
|
|
217
|
+
next();
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
app.use((req, _res, next) => (0, logs_middleware_1.expressRequestLogger)(req, _res, next, logger));
|
|
162
221
|
app.use((0, error_middleware_1.genericErrorMiddleware)({
|
|
163
|
-
sentryService:
|
|
222
|
+
sentryService: features?.sentry ? sentryService : undefined
|
|
164
223
|
}));
|
|
165
224
|
// Add production error handler for sanitized error responses
|
|
166
|
-
if (
|
|
225
|
+
if (environment === 'prod') {
|
|
167
226
|
app.use((0, productionError_middleware_1.productionErrorHandler)());
|
|
168
227
|
}
|
|
169
228
|
customHandlers?.forEach(customHandler => {
|
|
@@ -178,13 +237,13 @@ function getExpressTrpcApp({ trpcRouter, port, expressResources, shouldInitOpenA
|
|
|
178
237
|
expressResources?.forEach(expressResource => {
|
|
179
238
|
app.use(expressResource);
|
|
180
239
|
});
|
|
181
|
-
if (
|
|
240
|
+
if (features?.openApiDocs) {
|
|
182
241
|
(0, initOpenApiDocs_1.initOpenApiDocs)({
|
|
183
242
|
app,
|
|
184
|
-
appName
|
|
185
|
-
appVersion
|
|
243
|
+
appName,
|
|
244
|
+
appVersion,
|
|
186
245
|
trpcRouter,
|
|
187
|
-
baseUrl
|
|
246
|
+
baseUrl: baseUrl || `http://localhost:${port}`
|
|
188
247
|
});
|
|
189
248
|
// Apply the OpenAPI Express middleware only when OpenAPI docs are enabled
|
|
190
249
|
app.use('/', (0, trpc_to_openapi_1.createOpenApiExpressMiddleware)({
|
|
@@ -193,48 +252,79 @@ function getExpressTrpcApp({ trpcRouter, port, expressResources, shouldInitOpenA
|
|
|
193
252
|
onError: trpcError_middleware_1.trpcErrorMiddleware
|
|
194
253
|
}));
|
|
195
254
|
}
|
|
196
|
-
app.use(async (req,
|
|
255
|
+
app.use(async (req, _res, next) => {
|
|
197
256
|
req.context = await (0, trpc_context_1.createContext)({
|
|
198
257
|
req
|
|
199
258
|
});
|
|
200
259
|
next();
|
|
201
260
|
});
|
|
202
|
-
|
|
203
|
-
|
|
261
|
+
// Configure view engine
|
|
262
|
+
if (serverConfig?.viewEngine) {
|
|
263
|
+
app.set('view engine', serverConfig.viewEngine);
|
|
264
|
+
}
|
|
265
|
+
if (serverConfig?.viewPaths && serverConfig.viewPaths.length > 0) {
|
|
266
|
+
app.set('views', serverConfig.viewPaths);
|
|
267
|
+
}
|
|
204
268
|
// Health check endpoints
|
|
205
|
-
app.get('/health', (
|
|
269
|
+
app.get(healthCheck?.path || '/health', async (_req, res) => {
|
|
206
270
|
const memoryUsage = process.memoryUsage();
|
|
207
|
-
const lastMetrics = memoryMonitor
|
|
208
|
-
|
|
271
|
+
const lastMetrics = memoryMonitor?.getLastMetrics();
|
|
272
|
+
const baseHealth = {
|
|
209
273
|
status: 'ok',
|
|
210
274
|
timestamp: new Date().toISOString(),
|
|
211
|
-
service:
|
|
212
|
-
version:
|
|
275
|
+
service: appName,
|
|
276
|
+
version: appVersion,
|
|
213
277
|
uptime: process.uptime(),
|
|
214
278
|
memory: {
|
|
215
279
|
used: js_utils_1.Units.humanByteSize(memoryUsage.heapUsed),
|
|
216
280
|
total: js_utils_1.Units.humanByteSize(memoryUsage.heapTotal),
|
|
217
|
-
percentage: lastMetrics
|
|
281
|
+
percentage: lastMetrics
|
|
282
|
+
? lastMetrics.heapUsedPercentage.toFixed(1) + '%'
|
|
283
|
+
: 'N/A',
|
|
218
284
|
rss: js_utils_1.Units.humanByteSize(memoryUsage.rss),
|
|
219
285
|
external: js_utils_1.Units.humanByteSize(memoryUsage.external),
|
|
220
|
-
monitoring:
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
286
|
+
monitoring: performance?.memoryMonitoring?.enabled
|
|
287
|
+
? {
|
|
288
|
+
lastCheck: lastMetrics
|
|
289
|
+
? new Date(lastMetrics.timestamp).toISOString()
|
|
290
|
+
: 'N/A',
|
|
291
|
+
warningThreshold: `${performance.memoryMonitoring.warningThreshold}%`,
|
|
292
|
+
criticalThreshold: `${performance.memoryMonitoring.criticalThreshold}%`
|
|
293
|
+
}
|
|
294
|
+
: undefined
|
|
225
295
|
}
|
|
226
|
-
}
|
|
296
|
+
};
|
|
297
|
+
if (healthCheck?.customChecks) {
|
|
298
|
+
try {
|
|
299
|
+
const customResults = await healthCheck.customChecks();
|
|
300
|
+
res.json({ ...baseHealth, custom: customResults });
|
|
301
|
+
}
|
|
302
|
+
catch (error) {
|
|
303
|
+
res.status(503).json({
|
|
304
|
+
...baseHealth,
|
|
305
|
+
status: 'unhealthy',
|
|
306
|
+
error: error instanceof Error ? error.message : 'Unknown error'
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
res.json(baseHealth);
|
|
312
|
+
}
|
|
227
313
|
});
|
|
228
314
|
// Readiness check endpoint
|
|
229
|
-
app.get('/ready', async (
|
|
315
|
+
app.get(readyCheck?.path || '/ready', async (_req, res) => {
|
|
230
316
|
try {
|
|
231
|
-
|
|
232
|
-
// For example: check database connection, external services, etc.
|
|
233
|
-
const checks = {
|
|
317
|
+
const baseChecks = {
|
|
234
318
|
service: 'ready',
|
|
235
319
|
timestamp: new Date().toISOString()
|
|
236
320
|
};
|
|
237
|
-
|
|
321
|
+
if (readyCheck?.customChecks) {
|
|
322
|
+
const customResults = await readyCheck.customChecks();
|
|
323
|
+
res.json({ ...baseChecks, ...customResults });
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
res.json(baseChecks);
|
|
327
|
+
}
|
|
238
328
|
}
|
|
239
329
|
catch (error) {
|
|
240
330
|
res.status(503).json({
|
|
@@ -248,8 +338,8 @@ function getExpressTrpcApp({ trpcRouter, port, expressResources, shouldInitOpenA
|
|
|
248
338
|
*/
|
|
249
339
|
let server;
|
|
250
340
|
// Don't start server in test environment
|
|
251
|
-
if (
|
|
252
|
-
if (
|
|
341
|
+
if (environment !== 'test') {
|
|
342
|
+
if (isCloudRun()) {
|
|
253
343
|
server = app.listen(port, '0.0.0.0');
|
|
254
344
|
}
|
|
255
345
|
else {
|
|
@@ -257,49 +347,75 @@ function getExpressTrpcApp({ trpcRouter, port, expressResources, shouldInitOpenA
|
|
|
257
347
|
}
|
|
258
348
|
}
|
|
259
349
|
// Graceful shutdown handler
|
|
260
|
-
const gracefulShutdown = () => {
|
|
350
|
+
const gracefulShutdown = async () => {
|
|
261
351
|
logger.log('SIGTERM signal received: closing HTTP server');
|
|
262
352
|
// Stop memory monitoring
|
|
263
|
-
memoryMonitor
|
|
353
|
+
memoryMonitor?.stopMonitoring();
|
|
354
|
+
// Call custom shutdown handler if provided
|
|
355
|
+
if (processManagement?.gracefulShutdown?.onShutdown) {
|
|
356
|
+
await processManagement.gracefulShutdown.onShutdown();
|
|
357
|
+
}
|
|
264
358
|
if (server) {
|
|
265
359
|
server.close(() => {
|
|
266
360
|
logger.log('HTTP server closed');
|
|
267
|
-
// Perform cleanup tasks here
|
|
268
|
-
// Close database connections, message queues, etc.
|
|
269
361
|
process.exit(0);
|
|
270
362
|
});
|
|
271
|
-
// Force shutdown after
|
|
363
|
+
// Force shutdown after timeout
|
|
364
|
+
const shutdownTimeout = processManagement?.gracefulShutdown?.timeout || 30000;
|
|
272
365
|
setTimeout(() => {
|
|
273
366
|
logger.error('Could not close connections in time, forcefully shutting down');
|
|
274
367
|
process.exit(1);
|
|
275
|
-
},
|
|
368
|
+
}, shutdownTimeout);
|
|
276
369
|
}
|
|
277
370
|
};
|
|
278
|
-
// Only add process listeners if server was started (not in test env)
|
|
279
|
-
if (server) {
|
|
371
|
+
// Only add process listeners if enabled and server was started (not in test env)
|
|
372
|
+
if (processManagement?.gracefulShutdown?.enabled !== false && server) {
|
|
280
373
|
// Listen for termination signals
|
|
281
374
|
process.once('SIGTERM', gracefulShutdown);
|
|
282
375
|
process.once('SIGINT', gracefulShutdown);
|
|
283
376
|
// Handle uncaught errors
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
377
|
+
if (processManagement?.uncaughtException?.handler) {
|
|
378
|
+
process.once('uncaughtException', processManagement.uncaughtException.handler);
|
|
379
|
+
}
|
|
380
|
+
else {
|
|
381
|
+
process.once('uncaughtException', error => {
|
|
382
|
+
logger.error('Uncaught Exception:', error);
|
|
383
|
+
if (features?.sentry && sentryService) {
|
|
384
|
+
Sentry.captureException(error);
|
|
385
|
+
}
|
|
386
|
+
gracefulShutdown();
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
if (processManagement?.unhandledRejection?.handler) {
|
|
390
|
+
process.on('unhandledRejection', processManagement.unhandledRejection.handler);
|
|
391
|
+
}
|
|
392
|
+
else {
|
|
393
|
+
process.on('unhandledRejection', (reason, _promise) => {
|
|
394
|
+
logger.error('Unhandled Rejection at:', _promise, 'reason:', reason);
|
|
395
|
+
if (features?.sentry && sentryService) {
|
|
396
|
+
Sentry.captureException(reason);
|
|
397
|
+
}
|
|
398
|
+
});
|
|
399
|
+
}
|
|
297
400
|
}
|
|
298
401
|
const address = `http://localhost:${port}`;
|
|
299
402
|
const used = js_utils_1.Units.humanByteSize(process.memoryUsage().heapUsed);
|
|
300
403
|
console.log(`App Local Url:
|
|
301
404
|
${(0, colors_1.yellow)(address)}
|
|
302
405
|
in ${js_utils_1.Time.ms(process.uptime() * 1000)}, used ${used}`);
|
|
303
|
-
|
|
406
|
+
// Create a function to wait for server shutdown
|
|
407
|
+
const waitForShutdown = () => {
|
|
408
|
+
if (!server) {
|
|
409
|
+
// If no server (test environment), resolve immediately
|
|
410
|
+
return Promise.resolve();
|
|
411
|
+
}
|
|
412
|
+
return new Promise((resolve) => {
|
|
413
|
+
server.once('close', () => {
|
|
414
|
+
logger.log('Server closed');
|
|
415
|
+
resolve();
|
|
416
|
+
});
|
|
417
|
+
});
|
|
418
|
+
};
|
|
419
|
+
return { app, server, memoryMonitor, waitForShutdown };
|
|
304
420
|
}
|
|
305
421
|
//# sourceMappingURL=getExpressTrpcApp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getExpressTrpcApp.js","sourceRoot":"","sources":["../../../src/server/bootstraps/getExpressTrpcApp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getExpressTrpcApp.js","sourceRoot":"","sources":["../../../src/server/bootstraps/getExpressTrpcApp.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,10 @@ function respondWithError(request, res, error) {
|
|
|
39
39
|
return;
|
|
40
40
|
const httpError = js_utils_1.Errors.errorToErrorObject(originalError, includeErrorStack);
|
|
41
41
|
httpError.data.errorId = errorId;
|
|
42
|
+
// Check if error has a status or statusCode property (from Express errors like PayloadTooLargeError)
|
|
43
|
+
if (!httpError.data.httpStatusCode && originalError) {
|
|
44
|
+
httpError.data.httpStatusCode = originalError.status || originalError.statusCode;
|
|
45
|
+
}
|
|
42
46
|
httpError.data.httpStatusCode ||= 500; // Default to 500
|
|
43
47
|
httpError.data.headersSent = headersSent || undefined;
|
|
44
48
|
httpError.data.report ||= undefined; // Set to undefined if false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.middleware.js","sourceRoot":"","sources":["../../../src/server/middleware/error.middleware.ts"],"names":[],"mappings":";;AA+BA,wDAcC;AAED,
|
|
1
|
+
{"version":3,"file":"error.middleware.js","sourceRoot":"","sources":["../../../src/server/middleware/error.middleware.ts"],"names":[],"mappings":"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"}
|