@inversifyjs/http-express 5.6.2 → 5.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"InversifyExpressHttpAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/InversifyExpressHttpAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InversifyExpressHttpAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/InversifyExpressHttpAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
1
  import { buildNormalizedPath, InversifyHttpAdapter, routeValueMetadataSymbol, } from '@inversifyjs/http-core';
2
+ import { markHttpInstrumentedHandler } from '@inversifyjs/http-instrumentation-core';
2
3
  import cookieParser from 'cookie-parser';
3
4
  import express from 'express';
5
+ import { installExpressHttpInstrumentation } from '../instrumentation/actions/installExpressHttpInstrumentation.js';
4
6
  const ADAPTER_ID = Symbol.for('@inversifyjs/http-express/InversifyExpressHttpAdapter');
5
7
  export class InversifyExpressHttpAdapter extends InversifyHttpAdapter {
6
8
  id = ADAPTER_ID;
7
9
  constructor(container, httpAdapterOptions, customApp) {
8
10
  super(container, {
11
+ instrumentation: [],
9
12
  logger: true,
10
13
  useCookies: false,
11
14
  useJson: true,
@@ -14,7 +17,14 @@ export class InversifyExpressHttpAdapter extends InversifyHttpAdapter {
14
17
  }, httpAdapterOptions, [], customApp);
15
18
  }
16
19
  _buildApp(customApp) {
17
- return customApp ?? this._buildDefaultExpressApp();
20
+ const app = customApp ?? express();
21
+ if (this._httpInstrumentation !== undefined) {
22
+ installExpressHttpInstrumentation(app, this._httpInstrumentation);
23
+ }
24
+ if (customApp !== undefined) {
25
+ return app;
26
+ }
27
+ return this._buildDefaultExpressApp(app);
18
28
  }
19
29
  _buildDefaultExpressApp(customApp) {
20
30
  const app = customApp ?? express();
@@ -70,10 +80,14 @@ export class InversifyExpressHttpAdapter extends InversifyHttpAdapter {
70
80
  if (routeValueMetadataMap.size === 0) {
71
81
  return undefined;
72
82
  }
73
- return (request, _response, next) => {
83
+ const handler = (request, _response, next) => {
74
84
  request[routeValueMetadataSymbol] = routeValueMetadataMap;
75
85
  next();
76
86
  };
87
+ if (this._httpInstrumentation !== undefined) {
88
+ markHttpInstrumentedHandler(handler);
89
+ }
90
+ return handler;
77
91
  }
78
92
  _getBody(request, _response, parameterName) {
79
93
  return parameterName === undefined
@@ -1 +1 @@
1
- {"version":3,"file":"InversifyExpressHttpAdapter.js","sourceRoot":"","sources":["../../src/adapter/InversifyExpressHttpAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InversifyExpressHttpAdapter.js","sourceRoot":"","sources":["../../src/adapter/InversifyExpressHttpAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type HttpInstrumentationContext } from '@inversifyjs/http-instrumentation-core';
2
+ import { type Application } from 'express';
3
+ export declare function installExpressHttpInstrumentation(app: Application, instrumentation: HttpInstrumentationContext): void;
4
+ //# sourceMappingURL=installExpressHttpInstrumentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installExpressHttpInstrumentation.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/actions/installExpressHttpInstrumentation.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,0BAA0B,EAQhC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,KAAK,WAAW,EAIjB,MAAM,SAAS,CAAC;AAwDjB,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,WAAW,EAChB,eAAe,EAAE,0BAA0B,GAC1C,IAAI,CAGN"}
@@ -0,0 +1,289 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { closeHttpInstrumentationScope, emitHttpInstrumentationEvent, initializeHttpInstrumentationRequest, isHttpInstrumentedHandler, openHttpInstrumentationScope, readHttpStageDuration, redactHttpHeaders, startHttpStage, } from '@inversifyjs/http-instrumentation-core';
3
+ const EXPRESS_ERROR_HANDLER_LENGTH = 4;
4
+ const ANONYMOUS_EXPRESS_LAYER_NAME = '<anonymous>';
5
+ const ANONYMOUS_MIDDLEWARE_NAME = 'anonymous';
6
+ const expressInstrumentedMiddlewareSymbol = Symbol.for('@inversifyjs/http-express/instrumentedMiddleware');
7
+ const expressRegistrationPatchedSymbol = Symbol.for('@inversifyjs/http-express/registrationPatched');
8
+ const EXPRESS_REGISTRATION_METHODS = [
9
+ 'all',
10
+ 'delete',
11
+ 'get',
12
+ 'head',
13
+ 'options',
14
+ 'patch',
15
+ 'post',
16
+ 'put',
17
+ 'use',
18
+ ];
19
+ export function installExpressHttpInstrumentation(app, instrumentation) {
20
+ patchExpressRegistrations(app, instrumentation);
21
+ installExpressRequestObservation(app, instrumentation);
22
+ }
23
+ function installExpressRequestObservation(app, instrumentation) {
24
+ const application = app;
25
+ if (isExpressRegistrationPatched(application.handle)) {
26
+ return;
27
+ }
28
+ const originalHandle = application.handle.bind(app);
29
+ const observedHandle = (request, response, callback) => {
30
+ observeExpressRequest(request, response, instrumentation);
31
+ originalHandle(request, response, callback);
32
+ };
33
+ markExpressRegistrationPatched(observedHandle);
34
+ application.handle = observedHandle;
35
+ }
36
+ function observeExpressRequest(request, response, instrumentation) {
37
+ const requestId = randomUUID();
38
+ const stage = startHttpStage();
39
+ initializeHttpInstrumentationRequest(request, requestId);
40
+ const scope = openHttpInstrumentationScope(request, randomUUID());
41
+ emitHttpInstrumentationEvent(instrumentation.sinks, {
42
+ executionId: scope.executionId,
43
+ headers: redactHttpHeaders(request.headers),
44
+ method: request.method,
45
+ requestId: scope.requestId,
46
+ timestamp: stage.startedAt,
47
+ type: 'http.request.started',
48
+ url: readExpressRequestUrl(request),
49
+ }, instrumentation.reportSinkError);
50
+ let completed = false;
51
+ const complete = (aborted) => {
52
+ if (completed) {
53
+ return;
54
+ }
55
+ completed = true;
56
+ emitHttpInstrumentationEvent(instrumentation.sinks, {
57
+ aborted,
58
+ duration: readHttpStageDuration(stage),
59
+ executionId: scope.executionId,
60
+ headers: redactHttpHeaders(response.getHeaders()),
61
+ requestId: scope.requestId,
62
+ startedAt: stage.startedAt,
63
+ statusCode: response.statusCode,
64
+ timestamp: Date.now(),
65
+ type: 'http.response.sent',
66
+ }, instrumentation.reportSinkError);
67
+ closeHttpInstrumentationScope(request, scope.executionId);
68
+ };
69
+ response.once('finish', () => {
70
+ complete(false);
71
+ });
72
+ response.once('close', () => {
73
+ if (!response.writableFinished) {
74
+ complete(true);
75
+ }
76
+ });
77
+ }
78
+ function patchExpressRegistrations(target, instrumentation) {
79
+ const record = target;
80
+ for (const methodName of EXPRESS_REGISTRATION_METHODS) {
81
+ const original = record[methodName];
82
+ if (typeof original !== 'function' ||
83
+ isExpressRegistrationPatched(original)) {
84
+ continue;
85
+ }
86
+ const patched = function (...args) {
87
+ return original.apply(this, instrumentRegistrationArguments(args, instrumentation));
88
+ };
89
+ markExpressRegistrationPatched(patched);
90
+ record[methodName] = patched;
91
+ }
92
+ const originalRoute = record['route'];
93
+ if (typeof originalRoute !== 'function' ||
94
+ isExpressRegistrationPatched(originalRoute)) {
95
+ return;
96
+ }
97
+ const patchedRoute = function (...args) {
98
+ const route = originalRoute.apply(this, args);
99
+ if (isExpressRoute(route)) {
100
+ patchExpressRegistrations(route, instrumentation);
101
+ }
102
+ return route;
103
+ };
104
+ markExpressRegistrationPatched(patchedRoute);
105
+ record['route'] = patchedRoute;
106
+ }
107
+ function instrumentRegistrationArguments(args, instrumentation) {
108
+ return args.map((argument) => instrumentRegistrationArgument(argument, instrumentation));
109
+ }
110
+ function instrumentRegistrationArgument(argument, instrumentation) {
111
+ if (isExpressRouter(argument)) {
112
+ patchExpressRegistrations(argument, instrumentation);
113
+ const handler = argument;
114
+ return wrapExpressMiddleware(describeExpressHandler(handler, 'router'), handler, instrumentation);
115
+ }
116
+ if (isExpressApplication(argument)) {
117
+ patchExpressRegistrations(argument, instrumentation);
118
+ return argument;
119
+ }
120
+ if (typeof argument !== 'function') {
121
+ return argument;
122
+ }
123
+ if (isHttpInstrumentedHandler(argument) ||
124
+ isExpressInstrumentedMiddleware(argument)) {
125
+ return argument;
126
+ }
127
+ const handler = argument;
128
+ return wrapExpressMiddleware(describeExpressHandler(handler, ANONYMOUS_MIDDLEWARE_NAME), handler, instrumentation);
129
+ }
130
+ function wrapExpressMiddleware(name, handler, instrumentation) {
131
+ const wrapped = (handler.length >= EXPRESS_ERROR_HANDLER_LENGTH
132
+ ? (error, request, response, next) => runExpressMiddleware(name, request, response, instrumentation, (wrappedNext) => handler(error, request, response, wrappedNext), next)
133
+ : (request, response, next) => runExpressMiddleware(name, request, response, instrumentation, (wrappedNext) => handler(request, response, wrappedNext), next));
134
+ markExpressInstrumentedMiddleware(wrapped);
135
+ return wrapped;
136
+ }
137
+ function runExpressMiddleware(name, request, response, instrumentation, invoke, next) {
138
+ const stage = startHttpStage();
139
+ const scope = openHttpInstrumentationScope(request, randomUUID());
140
+ let settled = false;
141
+ const handoff = { continued: false };
142
+ const finish = (error) => {
143
+ if (settled) {
144
+ return;
145
+ }
146
+ settled = true;
147
+ emitHttpInstrumentationEvent(instrumentation.sinks, {
148
+ duration: readHttpStageDuration(stage),
149
+ ...(error === undefined ? {} : { error }),
150
+ executionId: scope.executionId,
151
+ name,
152
+ ...(scope.parentExecutionId === undefined
153
+ ? {}
154
+ : { parentExecutionId: scope.parentExecutionId }),
155
+ requestId: scope.requestId,
156
+ startedAt: stage.startedAt,
157
+ timestamp: Date.now(),
158
+ type: 'http.nativeMiddleware.executed',
159
+ }, instrumentation.reportSinkError);
160
+ closeHttpInstrumentationScope(request, scope.executionId);
161
+ };
162
+ const finishWhenResponseEnds = () => {
163
+ if (response.writableFinished) {
164
+ finish();
165
+ return;
166
+ }
167
+ response.once('finish', () => {
168
+ finish();
169
+ });
170
+ response.once('close', () => {
171
+ if (!response.writableFinished) {
172
+ finish();
173
+ }
174
+ });
175
+ };
176
+ const wrappedNext = (error) => {
177
+ if (!handoff.continued) {
178
+ handoff.continued = true;
179
+ finishWhenResponseEnds();
180
+ }
181
+ next(error);
182
+ };
183
+ emitHttpInstrumentationEvent(instrumentation.sinks, {
184
+ executionId: scope.executionId,
185
+ name,
186
+ ...(scope.parentExecutionId === undefined
187
+ ? {}
188
+ : { parentExecutionId: scope.parentExecutionId }),
189
+ requestId: scope.requestId,
190
+ timestamp: stage.startedAt,
191
+ type: 'http.nativeMiddleware.started',
192
+ }, instrumentation.reportSinkError);
193
+ try {
194
+ const result = invoke(wrappedNext);
195
+ if (isPromise(result)) {
196
+ return result.then((value) => {
197
+ if (!handoff.continued) {
198
+ finish();
199
+ }
200
+ return value;
201
+ }, (error) => {
202
+ if (!handoff.continued) {
203
+ finish(error);
204
+ }
205
+ throw error;
206
+ });
207
+ }
208
+ if (!handoff.continued) {
209
+ finish();
210
+ }
211
+ return result;
212
+ }
213
+ catch (error) {
214
+ if (!handoff.continued) {
215
+ finish(error);
216
+ }
217
+ throw error;
218
+ }
219
+ }
220
+ function describeExpressHandler(handler, fallbackName) {
221
+ if (handler.name !== '') {
222
+ return handler.name;
223
+ }
224
+ if (fallbackName !== '' &&
225
+ fallbackName !== ANONYMOUS_EXPRESS_LAYER_NAME &&
226
+ fallbackName !== ANONYMOUS_MIDDLEWARE_NAME) {
227
+ return fallbackName;
228
+ }
229
+ return ANONYMOUS_MIDDLEWARE_NAME;
230
+ }
231
+ function readExpressRequestUrl(request) {
232
+ if (typeof request.originalUrl === 'string' && request.originalUrl !== '') {
233
+ return request.originalUrl;
234
+ }
235
+ return request.url;
236
+ }
237
+ function isExpressApplication(value) {
238
+ if (typeof value !== 'function') {
239
+ return false;
240
+ }
241
+ const application = value;
242
+ return (typeof application.handle === 'function' &&
243
+ typeof application.set === 'function');
244
+ }
245
+ function isExpressRouter(value) {
246
+ if (typeof value !== 'function') {
247
+ return false;
248
+ }
249
+ const router = value;
250
+ return Array.isArray(router.stack) && typeof router.use === 'function';
251
+ }
252
+ function isExpressRoute(value) {
253
+ if (typeof value !== 'object' || value === null) {
254
+ return false;
255
+ }
256
+ const route = value;
257
+ return Array.isArray(route.stack) && typeof route.get === 'function';
258
+ }
259
+ function isPromise(value) {
260
+ return (typeof value === 'object' &&
261
+ value !== null &&
262
+ 'then' in value &&
263
+ typeof value.then === 'function');
264
+ }
265
+ function markExpressInstrumentedMiddleware(handler) {
266
+ Object.defineProperty(handler, expressInstrumentedMiddlewareSymbol, {
267
+ configurable: false,
268
+ enumerable: false,
269
+ value: true,
270
+ writable: false,
271
+ });
272
+ }
273
+ function isExpressInstrumentedMiddleware(handler) {
274
+ const record = handler;
275
+ return record[expressInstrumentedMiddlewareSymbol] === true;
276
+ }
277
+ function markExpressRegistrationPatched(handler) {
278
+ Object.defineProperty(handler, expressRegistrationPatchedSymbol, {
279
+ configurable: false,
280
+ enumerable: false,
281
+ value: true,
282
+ writable: false,
283
+ });
284
+ }
285
+ function isExpressRegistrationPatched(handler) {
286
+ const record = handler;
287
+ return record[expressRegistrationPatchedSymbol] === true;
288
+ }
289
+ //# sourceMappingURL=installExpressHttpInstrumentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installExpressHttpInstrumentation.js","sourceRoot":"","sources":["../../../src/instrumentation/actions/installExpressHttpInstrumentation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -5,7 +5,8 @@
5
5
  },
6
6
  "description": "InversifyJs http express package",
7
7
  "dependencies": {
8
- "@inversifyjs/http-core": "5.6.2",
8
+ "@inversifyjs/http-core": "5.7.0",
9
+ "@inversifyjs/http-instrumentation-core": "5.7.0",
9
10
  "cookie-parser": "^1.4.7"
10
11
  },
11
12
  "devDependencies": {
@@ -17,7 +18,8 @@
17
18
  "@types/express": "^5.0.6",
18
19
  "@types/node": "24.19.1",
19
20
  "@vitest/coverage-v8": "5.0.3",
20
- "eslint": "10.11.0",
21
+ "eslint": "10.12.0",
22
+ "express": "5.2.1",
21
23
  "prettier": "3.9.9",
22
24
  "rimraf": "6.1.3",
23
25
  "typescript": "6.0.3",
@@ -54,7 +56,7 @@
54
56
  "type": "git",
55
57
  "url": "git+https://github.com/inversify/monorepo.git"
56
58
  },
57
- "version": "5.6.2",
59
+ "version": "5.7.0",
58
60
  "type": "module",
59
61
  "scripts": {
60
62
  "build": "tsc",