request-scope-api 1.0.20 → 1.0.22

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.
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ /**
3
+ * AdapterSingleton — Manages singleton database adapter instances.
4
+ *
5
+ * Ensures that only one database connection/pool exists per unique configuration
6
+ * across the entire application lifecycle. This prevents:
7
+ * - Multiple connection pools when middleware is called multiple times
8
+ * - Duplicate connections when setup function is imported multiple times
9
+ * - Connection leaks on server restarts in dev mode (nodemon)
10
+ *
11
+ * The singleton is keyed by a hash of the storage configuration, so different
12
+ * configurations will have separate connections (as expected).
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.adapterSingleton = void 0;
16
+ const mongo_adapter_js_1 = require("./adapters/mongo.adapter.js");
17
+ const mysql_adapter_js_1 = require("./adapters/mysql.adapter.js");
18
+ const pg_adapter_js_1 = require("./adapters/pg.adapter.js");
19
+ // ---------------------------------------------------------------------------
20
+ // Configuration hash helper
21
+ // ---------------------------------------------------------------------------
22
+ /**
23
+ * Creates a stable hash string from storage configuration.
24
+ * This is used as the key for singleton instances.
25
+ */
26
+ function hashStorageConfig(config) {
27
+ const parts = [config.type];
28
+ if (config.type === 'mongodb') {
29
+ parts.push(config.uri || '');
30
+ }
31
+ else if (config.type === 'mysql' || config.type === 'postgresql') {
32
+ parts.push(config.host || 'localhost', String(config.port || (config.type === 'mysql' ? 3306 : 5432)), config.database || '', config.username || '');
33
+ }
34
+ return parts.join(':');
35
+ }
36
+ class AdapterSingletonManager {
37
+ constructor() {
38
+ this.instances = new Map();
39
+ }
40
+ /**
41
+ * Gets or creates a singleton adapter instance for the given configuration.
42
+ *
43
+ * @param config - Storage configuration
44
+ * @returns StorageAdapter instance (shared if already exists)
45
+ */
46
+ getOrCreate(config) {
47
+ const hash = hashStorageConfig(config);
48
+ const existing = this.instances.get(hash);
49
+ if (existing) {
50
+ // Increment reference count
51
+ existing.refCount++;
52
+ return existing.adapter;
53
+ }
54
+ // Create new adapter instance
55
+ let adapter;
56
+ switch (config.type) {
57
+ case 'mongodb':
58
+ adapter = new mongo_adapter_js_1.MongoAdapter(config);
59
+ break;
60
+ case 'mysql':
61
+ adapter = new mysql_adapter_js_1.MySQLAdapter(config);
62
+ break;
63
+ case 'postgresql':
64
+ adapter = new pg_adapter_js_1.PgAdapter(config);
65
+ break;
66
+ default:
67
+ throw new Error(`Unsupported storage type: ${config.type}`);
68
+ }
69
+ // Store in singleton map
70
+ this.instances.set(hash, {
71
+ adapter,
72
+ refCount: 1,
73
+ initialized: false,
74
+ });
75
+ return adapter;
76
+ }
77
+ /**
78
+ * Marks an adapter as initialized.
79
+ * This is called after successful adapter.initialize().
80
+ */
81
+ markInitialized(adapter, config) {
82
+ const hash = hashStorageConfig(config);
83
+ const entry = this.instances.get(hash);
84
+ if (entry && entry.adapter === adapter) {
85
+ entry.initialized = true;
86
+ }
87
+ }
88
+ /**
89
+ * Decrements reference count for an adapter.
90
+ * When reference count reaches zero, the adapter is cleaned up.
91
+ *
92
+ * @param adapter - StorageAdapter instance to release
93
+ * @param config - Storage configuration used to create the adapter
94
+ */
95
+ release(adapter, config) {
96
+ const hash = hashStorageConfig(config);
97
+ const entry = this.instances.get(hash);
98
+ if (entry && entry.adapter === adapter) {
99
+ entry.refCount--;
100
+ // Clean up if no more references
101
+ if (entry.refCount <= 0) {
102
+ this.instances.delete(hash);
103
+ // Close the connection to prevent connection leaks
104
+ void adapter.close().catch((err) => {
105
+ const message = err instanceof Error ? err.message : String(err);
106
+ process.stderr.write(`[RequestScope] Error closing adapter: ${message}\n`);
107
+ });
108
+ }
109
+ }
110
+ }
111
+ /**
112
+ * Gets the current number of singleton instances (for debugging).
113
+ */
114
+ getInstanceCount() {
115
+ return this.instances.size;
116
+ }
117
+ /**
118
+ * Clears all singleton instances.
119
+ * This should only be used in tests or on application shutdown.
120
+ */
121
+ clearAll() {
122
+ this.instances.clear();
123
+ }
124
+ /**
125
+ * Closes all adapter connections and clears the singleton instances.
126
+ * This should be called during application graceful shutdown.
127
+ */
128
+ async closeAll() {
129
+ const closePromises = [];
130
+ for (const [hash, entry] of this.instances.entries()) {
131
+ closePromises.push(entry.adapter.close().catch((err) => {
132
+ const message = err instanceof Error ? err.message : String(err);
133
+ process.stderr.write(`[RequestScope] Error closing adapter [${hash}]: ${message}\n`);
134
+ }));
135
+ }
136
+ await Promise.all(closePromises);
137
+ this.instances.clear();
138
+ }
139
+ }
140
+ // ---------------------------------------------------------------------------
141
+ // Export singleton instance
142
+ // ---------------------------------------------------------------------------
143
+ exports.adapterSingleton = new AdapterSingletonManager();
144
+ //# sourceMappingURL=adapter-singleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-singleton.js","sourceRoot":"","sources":["../../src/adapter-singleton.ts"],"names":[],"mappings":"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"}
@@ -183,6 +183,16 @@ class MongoAdapter {
183
183
  });
184
184
  return result.deletedCount;
185
185
  }
186
+ // -------------------------------------------------------------------------
187
+ // close()
188
+ // -------------------------------------------------------------------------
189
+ async close() {
190
+ if (this.client) {
191
+ await this.client.close();
192
+ this.client = null;
193
+ this.collection = null;
194
+ }
195
+ }
186
196
  }
187
197
  exports.MongoAdapter = MongoAdapter;
188
198
  //# sourceMappingURL=mongo.adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mongo.adapter.js","sourceRoot":"","sources":["../../../src/adapters/mongo.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongo.adapter.js","sourceRoot":"","sources":["../../../src/adapters/mongo.adapter.ts"],"names":[],"mappings":"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"}
@@ -230,6 +230,15 @@ class MySQLAdapter {
230
230
  return result.affectedRows;
231
231
  }
232
232
  // -------------------------------------------------------------------------
233
+ // close()
234
+ // -------------------------------------------------------------------------
235
+ async close() {
236
+ if (this.pool) {
237
+ await this.pool.end();
238
+ this.pool = null;
239
+ }
240
+ }
241
+ // -------------------------------------------------------------------------
233
242
  // Private helpers
234
243
  // -------------------------------------------------------------------------
235
244
  getPool() {
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.adapter.js","sourceRoot":"","sources":["../../../src/adapters/mysql.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mysql.adapter.js","sourceRoot":"","sources":["../../../src/adapters/mysql.adapter.ts"],"names":[],"mappings":"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"}
@@ -326,6 +326,15 @@ class PgAdapter {
326
326
  return result.rowCount ?? 0;
327
327
  }
328
328
  // -------------------------------------------------------------------------
329
+ // close()
330
+ // -------------------------------------------------------------------------
331
+ async close() {
332
+ if (this.pool) {
333
+ await this.pool.end();
334
+ this.pool = null;
335
+ }
336
+ }
337
+ // -------------------------------------------------------------------------
329
338
  // Private helpers
330
339
  // -------------------------------------------------------------------------
331
340
  getPool() {
@@ -1 +1 @@
1
- {"version":3,"file":"pg.adapter.js","sourceRoot":"","sources":["../../../src/adapters/pg.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pg.adapter.js","sourceRoot":"","sources":["../../../src/adapters/pg.adapter.ts"],"names":[],"mappings":"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"}
@@ -307,6 +307,20 @@ function wrapResponse(res, req, requestBody, requestBodySize, clientIp, sensitiv
307
307
  // Not JSON, keep as-is
308
308
  maskedRequestBody = requestBody;
309
309
  }
310
+ // Mask response body if it's JSON
311
+ let maskedResponseBody = responseBody;
312
+ try {
313
+ const parsedBody = JSON.parse(responseBody.replace(TRUNCATED_SUFFIX, ''));
314
+ const maskedBody = (0, masker_js_1.maskObject)(parsedBody, sensitiveFields);
315
+ maskedResponseBody = JSON.stringify(maskedBody, null, 2);
316
+ if (responseBody.endsWith(TRUNCATED_SUFFIX)) {
317
+ maskedResponseBody += TRUNCATED_SUFFIX;
318
+ }
319
+ }
320
+ catch {
321
+ // Not JSON, keep as-is
322
+ maskedResponseBody = responseBody;
323
+ }
310
324
  const endpointUrl = normalizeRequestUrl(req.originalUrl || req.url);
311
325
  const record = {
312
326
  id: (0, node_crypto_1.randomUUID)(),
@@ -322,7 +336,7 @@ function wrapResponse(res, req, requestBody, requestBodySize, clientIp, sensitiv
322
336
  userAgent: req.headers['user-agent'] || '',
323
337
  statusCode: res.statusCode,
324
338
  responseHeaders: (0, masker_js_1.maskObject)(Object.fromEntries(Object.entries(res.getHeaders()).map(([k, v]) => [k, Array.isArray(v) ? v[0] : v ?? ''])), sensitiveFields),
325
- responseBody,
339
+ responseBody: maskedResponseBody,
326
340
  responseBodySize,
327
341
  responseTime,
328
342
  errorMessage: errorData?.message ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/capture.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -9,9 +9,13 @@
9
9
  *
10
10
  * Requirements: 1.1, 12.1, 12.2, 12.3, 12.4
11
11
  */
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
12
15
  Object.defineProperty(exports, "__esModule", { value: true });
13
16
  exports.requestscopeMiddleware = exports.errorHandler = exports.setup = void 0;
14
17
  exports.dashboard = dashboard;
18
+ const express_1 = __importDefault(require("express"));
15
19
  const middleware_js_1 = require("./middleware.js");
16
20
  Object.defineProperty(exports, "errorHandler", { enumerable: true, get: function () { return middleware_js_1.errorHandler; } });
17
21
  Object.defineProperty(exports, "setup", { enumerable: true, get: function () { return middleware_js_1.setup; } });
@@ -37,6 +41,16 @@ exports.default = middleware_js_1.requestscope;
37
41
  * @returns Express Router
38
42
  */
39
43
  function dashboard(config, adapter) {
44
+ // Check if running in production environment
45
+ const nodeEnv = process.env.NODE_ENV;
46
+ if (nodeEnv === 'production') {
47
+ process.stderr.write('[RequestScope] Dashboard disabled in production environment (NODE_ENV=production)\n');
48
+ const router = express_1.default.Router();
49
+ router.use((req, res, next) => {
50
+ res.status(404).send('RequestScope dashboard is disabled in production environment');
51
+ });
52
+ return router;
53
+ }
40
54
  return (0, router_js_1.createDashboardRouter)(config, adapter);
41
55
  }
42
56
  // Attach dashboard as a named property on the default export for convenience
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAsCH,8BAEC;AArCD,mDAA8F;AAoDrF,6FApDwC,4BAAY,OAoDxC;AANZ,sFA9CsD,qBAAK,OA8CtD;AA7Cd,qDAA8D;AAW9D,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;;;;GAKG;AACH,kBAAe,4BAAsB,CAAC;AAEtC,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;;;;;GAMG;AACH,SAAgB,SAAS,CAAC,MAAwB,EAAE,OAAwB;IAC1E,OAAO,IAAA,iCAAqB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,6EAA6E;AAC5E,4BAA8B,CAAC,SAAS,GAAG,SAAS,CAAC;AA4BtD,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,iDAAyE;AAAhE,uHAAA,YAAY,OAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;AAuCH,8BAaC;AAjDD,sDAA8B;AAC9B,mDAA8F;AA+DrF,6FA/DwC,4BAAY,OA+DxC;AANZ,sFAzDsD,qBAAK,OAyDtD;AAxDd,qDAA8D;AAW9D,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;;;;GAKG;AACH,kBAAe,4BAAsB,CAAC;AAEtC,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;;;;;GAMG;AACH,SAAgB,SAAS,CAAC,MAAwB,EAAE,OAAwB;IAC1E,6CAA6C;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrC,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qFAAqF,CAAC,CAAC;QAC5G,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,GAAQ,EAAE,IAAS,EAAE,EAAE;YAC3C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,IAAA,iCAAqB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,6EAA6E;AAC5E,4BAA8B,CAAC,SAAS,GAAG,SAAS,CAAC;AA4BtD,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,iDAAyE;AAAhE,uHAAA,YAAY,OAA0B"}
@@ -16,13 +16,11 @@ exports.requestscope = requestscope;
16
16
  exports.setup = setup;
17
17
  exports.errorHandler = errorHandler;
18
18
  const config_js_1 = require("./config.js");
19
- const mongo_adapter_js_1 = require("./adapters/mongo.adapter.js");
20
- const mysql_adapter_js_1 = require("./adapters/mysql.adapter.js");
21
- const pg_adapter_js_1 = require("./adapters/pg.adapter.js");
22
19
  const queue_js_1 = require("./queue.js");
23
20
  const retention_js_1 = require("./retention.js");
24
21
  const capture_js_1 = require("./capture.js");
25
22
  const router_js_1 = require("./dashboard/router.js");
23
+ const adapter_singleton_js_1 = require("./adapter-singleton.js");
26
24
  const ALWAYS_IGNORED_PATHS = ['/favicon.ico', '/requestscope/api', '/requestscope/assets'];
27
25
  // ---------------------------------------------------------------------------
28
26
  // Factory function
@@ -51,29 +49,25 @@ const ALWAYS_IGNORED_PATHS = ['/favicon.ico', '/requestscope/api', '/requestscop
51
49
  * @returns Express RequestHandler middleware
52
50
  */
53
51
  function requestscope(config, adapter) {
52
+ // Check if running in production environment
53
+ const nodeEnv = process.env.NODE_ENV;
54
+ if (nodeEnv === 'production') {
55
+ process.stderr.write('[RequestScope] Package disabled in production environment (NODE_ENV=production)\n');
56
+ return (req, res, next) => next();
57
+ }
54
58
  // 1. Validate and apply defaults synchronously
55
59
  (0, config_js_1.validateConfig)(config);
56
60
  (0, config_js_1.applyDefaults)(config);
57
61
  const sensitiveFields = (0, config_js_1.buildSensitiveFieldSet)(config);
58
- // 2. Instantiate the appropriate storage adapter (if not provided)
62
+ // 2. Get or create singleton adapter instance
59
63
  if (!adapter) {
60
- switch (config.storage.type) {
61
- case 'mongodb':
62
- adapter = new mongo_adapter_js_1.MongoAdapter(config.storage);
63
- break;
64
- case 'mysql':
65
- adapter = new mysql_adapter_js_1.MySQLAdapter(config.storage);
66
- break;
67
- case 'postgresql':
68
- adapter = new pg_adapter_js_1.PgAdapter(config.storage);
69
- break;
70
- default:
71
- // This should never happen due to validateConfig, but TypeScript needs it
72
- throw new Error(`Unsupported storage type: ${config.storage.type}`);
73
- }
64
+ adapter = adapter_singleton_js_1.adapterSingleton.getOrCreate(config.storage);
74
65
  }
75
66
  // 3. Initialize adapter asynchronously (log errors, don't throw)
76
- void adapter.initialize().catch((err) => {
67
+ // Only initialize if not already initialized
68
+ void adapter.initialize().then(() => {
69
+ adapter_singleton_js_1.adapterSingleton.markInitialized(adapter, config.storage);
70
+ }).catch((err) => {
77
71
  const message = err instanceof Error ? err.message : String(err);
78
72
  process.stderr.write(`[RequestScope] Failed to initialize storage adapter: ${message}\n`);
79
73
  });
@@ -87,6 +81,8 @@ function requestscope(config, adapter) {
87
81
  retentionScheduler.stop();
88
82
  await queue.drain(10000);
89
83
  queue.destroy();
84
+ // Close all database connections via singleton
85
+ await adapter_singleton_js_1.adapterSingleton.closeAll();
90
86
  };
91
87
  // Use a flag to ensure shutdown handlers are only attached once
92
88
  const shutdownKey = '__requestscope_shutdown_attached__';
@@ -143,26 +139,21 @@ function requestscope(config, adapter) {
143
139
  * @param config - RequestScope configuration object
144
140
  */
145
141
  function setup(app, config) {
142
+ // Check if running in production environment
143
+ const nodeEnv = process.env.NODE_ENV;
144
+ if (nodeEnv === 'production') {
145
+ process.stderr.write('[RequestScope] Package disabled in production environment (NODE_ENV=production)\n');
146
+ return;
147
+ }
146
148
  // Validate and apply defaults
147
149
  (0, config_js_1.validateConfig)(config);
148
150
  (0, config_js_1.applyDefaults)(config);
149
- // Instantiate the appropriate storage adapter
150
- let adapter;
151
- switch (config.storage.type) {
152
- case 'mongodb':
153
- adapter = new mongo_adapter_js_1.MongoAdapter(config.storage);
154
- break;
155
- case 'mysql':
156
- adapter = new mysql_adapter_js_1.MySQLAdapter(config.storage);
157
- break;
158
- case 'postgresql':
159
- adapter = new pg_adapter_js_1.PgAdapter(config.storage);
160
- break;
161
- default:
162
- throw new Error(`Unsupported storage type: ${config.storage.type}`);
163
- }
151
+ // Get or create singleton adapter instance
152
+ const adapter = adapter_singleton_js_1.adapterSingleton.getOrCreate(config.storage);
164
153
  // Initialize adapter asynchronously
165
- void adapter.initialize().catch((err) => {
154
+ void adapter.initialize().then(() => {
155
+ adapter_singleton_js_1.adapterSingleton.markInitialized(adapter, config.storage);
156
+ }).catch((err) => {
166
157
  const message = err instanceof Error ? err.message : String(err);
167
158
  process.stderr.write(`[RequestScope] Failed to initialize storage adapter: ${message}\n`);
168
159
  });
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * AdapterSingleton — Manages singleton database adapter instances.
3
+ *
4
+ * Ensures that only one database connection/pool exists per unique configuration
5
+ * across the entire application lifecycle. This prevents:
6
+ * - Multiple connection pools when middleware is called multiple times
7
+ * - Duplicate connections when setup function is imported multiple times
8
+ * - Connection leaks on server restarts in dev mode (nodemon)
9
+ *
10
+ * The singleton is keyed by a hash of the storage configuration, so different
11
+ * configurations will have separate connections (as expected).
12
+ */
13
+ import { MongoAdapter } from './adapters/mongo.adapter.js';
14
+ import { MySQLAdapter } from './adapters/mysql.adapter.js';
15
+ import { PgAdapter } from './adapters/pg.adapter.js';
16
+ // ---------------------------------------------------------------------------
17
+ // Configuration hash helper
18
+ // ---------------------------------------------------------------------------
19
+ /**
20
+ * Creates a stable hash string from storage configuration.
21
+ * This is used as the key for singleton instances.
22
+ */
23
+ function hashStorageConfig(config) {
24
+ const parts = [config.type];
25
+ if (config.type === 'mongodb') {
26
+ parts.push(config.uri || '');
27
+ }
28
+ else if (config.type === 'mysql' || config.type === 'postgresql') {
29
+ parts.push(config.host || 'localhost', String(config.port || (config.type === 'mysql' ? 3306 : 5432)), config.database || '', config.username || '');
30
+ }
31
+ return parts.join(':');
32
+ }
33
+ class AdapterSingletonManager {
34
+ constructor() {
35
+ this.instances = new Map();
36
+ }
37
+ /**
38
+ * Gets or creates a singleton adapter instance for the given configuration.
39
+ *
40
+ * @param config - Storage configuration
41
+ * @returns StorageAdapter instance (shared if already exists)
42
+ */
43
+ getOrCreate(config) {
44
+ const hash = hashStorageConfig(config);
45
+ const existing = this.instances.get(hash);
46
+ if (existing) {
47
+ // Increment reference count
48
+ existing.refCount++;
49
+ return existing.adapter;
50
+ }
51
+ // Create new adapter instance
52
+ let adapter;
53
+ switch (config.type) {
54
+ case 'mongodb':
55
+ adapter = new MongoAdapter(config);
56
+ break;
57
+ case 'mysql':
58
+ adapter = new MySQLAdapter(config);
59
+ break;
60
+ case 'postgresql':
61
+ adapter = new PgAdapter(config);
62
+ break;
63
+ default:
64
+ throw new Error(`Unsupported storage type: ${config.type}`);
65
+ }
66
+ // Store in singleton map
67
+ this.instances.set(hash, {
68
+ adapter,
69
+ refCount: 1,
70
+ initialized: false,
71
+ });
72
+ return adapter;
73
+ }
74
+ /**
75
+ * Marks an adapter as initialized.
76
+ * This is called after successful adapter.initialize().
77
+ */
78
+ markInitialized(adapter, config) {
79
+ const hash = hashStorageConfig(config);
80
+ const entry = this.instances.get(hash);
81
+ if (entry && entry.adapter === adapter) {
82
+ entry.initialized = true;
83
+ }
84
+ }
85
+ /**
86
+ * Decrements reference count for an adapter.
87
+ * When reference count reaches zero, the adapter is cleaned up.
88
+ *
89
+ * @param adapter - StorageAdapter instance to release
90
+ * @param config - Storage configuration used to create the adapter
91
+ */
92
+ release(adapter, config) {
93
+ const hash = hashStorageConfig(config);
94
+ const entry = this.instances.get(hash);
95
+ if (entry && entry.adapter === adapter) {
96
+ entry.refCount--;
97
+ // Clean up if no more references
98
+ if (entry.refCount <= 0) {
99
+ this.instances.delete(hash);
100
+ // Close the connection to prevent connection leaks
101
+ void adapter.close().catch((err) => {
102
+ const message = err instanceof Error ? err.message : String(err);
103
+ process.stderr.write(`[RequestScope] Error closing adapter: ${message}\n`);
104
+ });
105
+ }
106
+ }
107
+ }
108
+ /**
109
+ * Gets the current number of singleton instances (for debugging).
110
+ */
111
+ getInstanceCount() {
112
+ return this.instances.size;
113
+ }
114
+ /**
115
+ * Clears all singleton instances.
116
+ * This should only be used in tests or on application shutdown.
117
+ */
118
+ clearAll() {
119
+ this.instances.clear();
120
+ }
121
+ /**
122
+ * Closes all adapter connections and clears the singleton instances.
123
+ * This should be called during application graceful shutdown.
124
+ */
125
+ async closeAll() {
126
+ const closePromises = [];
127
+ for (const [hash, entry] of this.instances.entries()) {
128
+ closePromises.push(entry.adapter.close().catch((err) => {
129
+ const message = err instanceof Error ? err.message : String(err);
130
+ process.stderr.write(`[RequestScope] Error closing adapter [${hash}]: ${message}\n`);
131
+ }));
132
+ }
133
+ await Promise.all(closePromises);
134
+ this.instances.clear();
135
+ }
136
+ }
137
+ // ---------------------------------------------------------------------------
138
+ // Export singleton instance
139
+ // ---------------------------------------------------------------------------
140
+ export const adapterSingleton = new AdapterSingletonManager();
@@ -180,4 +180,14 @@ export class MongoAdapter {
180
180
  });
181
181
  return result.deletedCount;
182
182
  }
183
+ // -------------------------------------------------------------------------
184
+ // close()
185
+ // -------------------------------------------------------------------------
186
+ async close() {
187
+ if (this.client) {
188
+ await this.client.close();
189
+ this.client = null;
190
+ this.collection = null;
191
+ }
192
+ }
183
193
  }
@@ -224,6 +224,15 @@ export class MySQLAdapter {
224
224
  return result.affectedRows;
225
225
  }
226
226
  // -------------------------------------------------------------------------
227
+ // close()
228
+ // -------------------------------------------------------------------------
229
+ async close() {
230
+ if (this.pool) {
231
+ await this.pool.end();
232
+ this.pool = null;
233
+ }
234
+ }
235
+ // -------------------------------------------------------------------------
227
236
  // Private helpers
228
237
  // -------------------------------------------------------------------------
229
238
  getPool() {
@@ -320,6 +320,15 @@ export class PgAdapter {
320
320
  return result.rowCount ?? 0;
321
321
  }
322
322
  // -------------------------------------------------------------------------
323
+ // close()
324
+ // -------------------------------------------------------------------------
325
+ async close() {
326
+ if (this.pool) {
327
+ await this.pool.end();
328
+ this.pool = null;
329
+ }
330
+ }
331
+ // -------------------------------------------------------------------------
323
332
  // Private helpers
324
333
  // -------------------------------------------------------------------------
325
334
  getPool() {
@@ -300,6 +300,20 @@ export function wrapResponse(res, req, requestBody, requestBodySize, clientIp, s
300
300
  // Not JSON, keep as-is
301
301
  maskedRequestBody = requestBody;
302
302
  }
303
+ // Mask response body if it's JSON
304
+ let maskedResponseBody = responseBody;
305
+ try {
306
+ const parsedBody = JSON.parse(responseBody.replace(TRUNCATED_SUFFIX, ''));
307
+ const maskedBody = maskObject(parsedBody, sensitiveFields);
308
+ maskedResponseBody = JSON.stringify(maskedBody, null, 2);
309
+ if (responseBody.endsWith(TRUNCATED_SUFFIX)) {
310
+ maskedResponseBody += TRUNCATED_SUFFIX;
311
+ }
312
+ }
313
+ catch {
314
+ // Not JSON, keep as-is
315
+ maskedResponseBody = responseBody;
316
+ }
303
317
  const endpointUrl = normalizeRequestUrl(req.originalUrl || req.url);
304
318
  const record = {
305
319
  id: randomUUID(),
@@ -315,7 +329,7 @@ export function wrapResponse(res, req, requestBody, requestBodySize, clientIp, s
315
329
  userAgent: req.headers['user-agent'] || '',
316
330
  statusCode: res.statusCode,
317
331
  responseHeaders: maskObject(Object.fromEntries(Object.entries(res.getHeaders()).map(([k, v]) => [k, Array.isArray(v) ? v[0] : v ?? ''])), sensitiveFields),
318
- responseBody,
332
+ responseBody: maskedResponseBody,
319
333
  responseBodySize,
320
334
  responseTime,
321
335
  errorMessage: errorData?.message ?? null,
package/dist/esm/index.js CHANGED
@@ -8,6 +8,7 @@
8
8
  *
9
9
  * Requirements: 1.1, 12.1, 12.2, 12.3, 12.4
10
10
  */
11
+ import express from 'express';
11
12
  import { requestscope as requestscopeMiddleware, errorHandler, setup } from './middleware.js';
12
13
  import { createDashboardRouter } from './dashboard/router.js';
13
14
  // ---------------------------------------------------------------------------
@@ -31,6 +32,16 @@ export default requestscopeMiddleware;
31
32
  * @returns Express Router
32
33
  */
33
34
  export function dashboard(config, adapter) {
35
+ // Check if running in production environment
36
+ const nodeEnv = process.env.NODE_ENV;
37
+ if (nodeEnv === 'production') {
38
+ process.stderr.write('[RequestScope] Dashboard disabled in production environment (NODE_ENV=production)\n');
39
+ const router = express.Router();
40
+ router.use((req, res, next) => {
41
+ res.status(404).send('RequestScope dashboard is disabled in production environment');
42
+ });
43
+ return router;
44
+ }
34
45
  return createDashboardRouter(config, adapter);
35
46
  }
36
47
  // Attach dashboard as a named property on the default export for convenience
@@ -11,13 +11,11 @@
11
11
  * Requirements: 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 2.2, 4.1, 4.2, 4.3, 5.1
12
12
  */
13
13
  import { validateConfig, applyDefaults, buildSensitiveFieldSet } from './config.js';
14
- import { MongoAdapter } from './adapters/mongo.adapter.js';
15
- import { MySQLAdapter } from './adapters/mysql.adapter.js';
16
- import { PgAdapter } from './adapters/pg.adapter.js';
17
14
  import { AsyncQueue } from './queue.js';
18
15
  import { RetentionScheduler } from './retention.js';
19
16
  import { bufferRequestBody, wrapResponse, normalizeRequestUrl, ERROR_DATA_SYMBOL, } from './capture.js';
20
17
  import { createDashboardRouter } from './dashboard/router.js';
18
+ import { adapterSingleton } from './adapter-singleton.js';
21
19
  const ALWAYS_IGNORED_PATHS = ['/favicon.ico', '/requestscope/api', '/requestscope/assets'];
22
20
  // ---------------------------------------------------------------------------
23
21
  // Factory function
@@ -46,29 +44,25 @@ const ALWAYS_IGNORED_PATHS = ['/favicon.ico', '/requestscope/api', '/requestscop
46
44
  * @returns Express RequestHandler middleware
47
45
  */
48
46
  export function requestscope(config, adapter) {
47
+ // Check if running in production environment
48
+ const nodeEnv = process.env.NODE_ENV;
49
+ if (nodeEnv === 'production') {
50
+ process.stderr.write('[RequestScope] Package disabled in production environment (NODE_ENV=production)\n');
51
+ return (req, res, next) => next();
52
+ }
49
53
  // 1. Validate and apply defaults synchronously
50
54
  validateConfig(config);
51
55
  applyDefaults(config);
52
56
  const sensitiveFields = buildSensitiveFieldSet(config);
53
- // 2. Instantiate the appropriate storage adapter (if not provided)
57
+ // 2. Get or create singleton adapter instance
54
58
  if (!adapter) {
55
- switch (config.storage.type) {
56
- case 'mongodb':
57
- adapter = new MongoAdapter(config.storage);
58
- break;
59
- case 'mysql':
60
- adapter = new MySQLAdapter(config.storage);
61
- break;
62
- case 'postgresql':
63
- adapter = new PgAdapter(config.storage);
64
- break;
65
- default:
66
- // This should never happen due to validateConfig, but TypeScript needs it
67
- throw new Error(`Unsupported storage type: ${config.storage.type}`);
68
- }
59
+ adapter = adapterSingleton.getOrCreate(config.storage);
69
60
  }
70
61
  // 3. Initialize adapter asynchronously (log errors, don't throw)
71
- void adapter.initialize().catch((err) => {
62
+ // Only initialize if not already initialized
63
+ void adapter.initialize().then(() => {
64
+ adapterSingleton.markInitialized(adapter, config.storage);
65
+ }).catch((err) => {
72
66
  const message = err instanceof Error ? err.message : String(err);
73
67
  process.stderr.write(`[RequestScope] Failed to initialize storage adapter: ${message}\n`);
74
68
  });
@@ -82,6 +76,8 @@ export function requestscope(config, adapter) {
82
76
  retentionScheduler.stop();
83
77
  await queue.drain(10000);
84
78
  queue.destroy();
79
+ // Close all database connections via singleton
80
+ await adapterSingleton.closeAll();
85
81
  };
86
82
  // Use a flag to ensure shutdown handlers are only attached once
87
83
  const shutdownKey = '__requestscope_shutdown_attached__';
@@ -138,26 +134,21 @@ export function requestscope(config, adapter) {
138
134
  * @param config - RequestScope configuration object
139
135
  */
140
136
  export function setup(app, config) {
137
+ // Check if running in production environment
138
+ const nodeEnv = process.env.NODE_ENV;
139
+ if (nodeEnv === 'production') {
140
+ process.stderr.write('[RequestScope] Package disabled in production environment (NODE_ENV=production)\n');
141
+ return;
142
+ }
141
143
  // Validate and apply defaults
142
144
  validateConfig(config);
143
145
  applyDefaults(config);
144
- // Instantiate the appropriate storage adapter
145
- let adapter;
146
- switch (config.storage.type) {
147
- case 'mongodb':
148
- adapter = new MongoAdapter(config.storage);
149
- break;
150
- case 'mysql':
151
- adapter = new MySQLAdapter(config.storage);
152
- break;
153
- case 'postgresql':
154
- adapter = new PgAdapter(config.storage);
155
- break;
156
- default:
157
- throw new Error(`Unsupported storage type: ${config.storage.type}`);
158
- }
146
+ // Get or create singleton adapter instance
147
+ const adapter = adapterSingleton.getOrCreate(config.storage);
159
148
  // Initialize adapter asynchronously
160
- void adapter.initialize().catch((err) => {
149
+ void adapter.initialize().then(() => {
150
+ adapterSingleton.markInitialized(adapter, config.storage);
151
+ }).catch((err) => {
161
152
  const message = err instanceof Error ? err.message : String(err);
162
153
  process.stderr.write(`[RequestScope] Failed to initialize storage adapter: ${message}\n`);
163
154
  });
@@ -0,0 +1,52 @@
1
+ /**
2
+ * AdapterSingleton — Manages singleton database adapter instances.
3
+ *
4
+ * Ensures that only one database connection/pool exists per unique configuration
5
+ * across the entire application lifecycle. This prevents:
6
+ * - Multiple connection pools when middleware is called multiple times
7
+ * - Duplicate connections when setup function is imported multiple times
8
+ * - Connection leaks on server restarts in dev mode (nodemon)
9
+ *
10
+ * The singleton is keyed by a hash of the storage configuration, so different
11
+ * configurations will have separate connections (as expected).
12
+ */
13
+ import type { StorageAdapter, StorageConfig } from './types.js';
14
+ declare class AdapterSingletonManager {
15
+ private instances;
16
+ /**
17
+ * Gets or creates a singleton adapter instance for the given configuration.
18
+ *
19
+ * @param config - Storage configuration
20
+ * @returns StorageAdapter instance (shared if already exists)
21
+ */
22
+ getOrCreate(config: StorageConfig): StorageAdapter;
23
+ /**
24
+ * Marks an adapter as initialized.
25
+ * This is called after successful adapter.initialize().
26
+ */
27
+ markInitialized(adapter: StorageAdapter, config: StorageConfig): void;
28
+ /**
29
+ * Decrements reference count for an adapter.
30
+ * When reference count reaches zero, the adapter is cleaned up.
31
+ *
32
+ * @param adapter - StorageAdapter instance to release
33
+ * @param config - Storage configuration used to create the adapter
34
+ */
35
+ release(adapter: StorageAdapter, config: StorageConfig): void;
36
+ /**
37
+ * Gets the current number of singleton instances (for debugging).
38
+ */
39
+ getInstanceCount(): number;
40
+ /**
41
+ * Clears all singleton instances.
42
+ * This should only be used in tests or on application shutdown.
43
+ */
44
+ clearAll(): void;
45
+ /**
46
+ * Closes all adapter connections and clears the singleton instances.
47
+ * This should be called during application graceful shutdown.
48
+ */
49
+ closeAll(): Promise<void>;
50
+ }
51
+ export declare const adapterSingleton: AdapterSingletonManager;
52
+ export {};
@@ -22,4 +22,5 @@ export declare class MongoAdapter implements StorageAdapter {
22
22
  total: number;
23
23
  }>;
24
24
  deleteOlderThan(date: Date): Promise<number>;
25
+ close(): Promise<void>;
25
26
  }
@@ -20,5 +20,6 @@ export declare class MySQLAdapter implements StorageAdapter {
20
20
  total: number;
21
21
  }>;
22
22
  deleteOlderThan(date: Date): Promise<number>;
23
+ close(): Promise<void>;
23
24
  private getPool;
24
25
  }
@@ -25,5 +25,6 @@ export declare class PgAdapter implements StorageAdapter {
25
25
  total: number;
26
26
  }>;
27
27
  deleteOlderThan(date: Date): Promise<number>;
28
+ close(): Promise<void>;
28
29
  private getPool;
29
30
  }
@@ -8,6 +8,7 @@
8
8
  *
9
9
  * Requirements: 1.1, 12.1, 12.2, 12.3, 12.4
10
10
  */
11
+ import express from 'express';
11
12
  import { requestscope as requestscopeMiddleware, errorHandler, setup } from './middleware.js';
12
13
  import type { RequestScopeConfig, StorageConfig, AuthConfig, RequestRecord, StorageAdapter, QueryFilters, DashboardConfig } from './types.js';
13
14
  /**
@@ -24,7 +25,7 @@ export default requestscopeMiddleware;
24
25
  * @param adapter - Optional storage adapter instance
25
26
  * @returns Express Router
26
27
  */
27
- export declare function dashboard(config?: DashboardConfig, adapter?: StorageAdapter): import("express").Router;
28
+ export declare function dashboard(config?: DashboardConfig, adapter?: StorageAdapter): express.Router;
28
29
  export { setup };
29
30
  export { errorHandler };
30
31
  export type { RequestScopeConfig, StorageConfig, AuthConfig, RequestRecord, StorageAdapter, QueryFilters, DashboardConfig, };
@@ -98,4 +98,6 @@ export interface StorageAdapter {
98
98
  * Returns the number of deleted records.
99
99
  */
100
100
  deleteOlderThan(date: Date): Promise<number>;
101
+ /** Closes the database connection/pool. Called during application shutdown. */
102
+ close(): Promise<void>;
101
103
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "request-scope-api",
3
- "version": "1.0.20",
3
+ "version": "1.0.22",
4
4
  "description": "Zero-friction API request observability for Express.js applications",
5
5
  "keywords": [
6
6
  "express",