@inversifyjs/http-fastify 5.6.3 → 5.8.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/lib/adapter/InversifyFastifyHttpAdapter.d.ts.map +1 -1
- package/lib/adapter/InversifyFastifyHttpAdapter.js +10 -1
- package/lib/adapter/InversifyFastifyHttpAdapter.js.map +1 -1
- package/lib/instrumentation/actions/installFastifyHttpInstrumentation.d.ts +4 -0
- package/lib/instrumentation/actions/installFastifyHttpInstrumentation.d.ts.map +1 -0
- package/lib/instrumentation/actions/installFastifyHttpInstrumentation.js +74 -0
- package/lib/instrumentation/actions/installFastifyHttpInstrumentation.js.map +1 -0
- package/package.json +8 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InversifyFastifyHttpAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/InversifyFastifyHttpAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAK5C,OAAO,EAGL,KAAK,cAAc,EACnB,oBAAoB,EACpB,KAAK,iBAAiB,EAGtB,KAAK,YAAY,EAElB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,KAAK,eAAe,EAEpB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAE3B,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"InversifyFastifyHttpAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/InversifyFastifyHttpAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,13 @@ import fastifyFormbody from '@fastify/formbody';
|
|
|
3
3
|
import fastifyMultipart from '@fastify/multipart';
|
|
4
4
|
import { buildNormalizedPath, handleMiddlewareList, InversifyHttpAdapter, RequestMethodParameterType, RequestMethodType, routeValueMetadataSymbol, } from '@inversifyjs/http-core';
|
|
5
5
|
import { fastify, } from 'fastify';
|
|
6
|
+
import { installFastifyHttpInstrumentation } from '../instrumentation/actions/installFastifyHttpInstrumentation.js';
|
|
6
7
|
const ADAPTER_ID = Symbol.for('@inversifyjs/http-fastify/InversifyFastifyHttpAdapter');
|
|
7
8
|
export class InversifyFastifyHttpAdapter extends InversifyHttpAdapter {
|
|
8
9
|
id = ADAPTER_ID;
|
|
9
10
|
constructor(container, httpAdapterOptions, customApp) {
|
|
10
11
|
super(container, {
|
|
12
|
+
instrumentation: [],
|
|
11
13
|
logger: true,
|
|
12
14
|
useCookies: false,
|
|
13
15
|
useFormUrlEncoded: false,
|
|
@@ -15,7 +17,14 @@ export class InversifyFastifyHttpAdapter extends InversifyHttpAdapter {
|
|
|
15
17
|
}, httpAdapterOptions, [RequestMethodParameterType.Body], customApp);
|
|
16
18
|
}
|
|
17
19
|
_buildApp(customApp) {
|
|
18
|
-
|
|
20
|
+
const app = customApp ?? fastify();
|
|
21
|
+
if (this._httpInstrumentation !== undefined) {
|
|
22
|
+
installFastifyHttpInstrumentation(app, this._httpInstrumentation);
|
|
23
|
+
}
|
|
24
|
+
if (customApp !== undefined) {
|
|
25
|
+
return app;
|
|
26
|
+
}
|
|
27
|
+
return this._buildDefaultFastifyApp(app);
|
|
19
28
|
}
|
|
20
29
|
_buildDefaultFastifyApp(customApp) {
|
|
21
30
|
const app = customApp ?? fastify();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InversifyFastifyHttpAdapter.js","sourceRoot":"","sources":["../../src/adapter/InversifyFastifyHttpAdapter.ts"],"names":[],"mappings":"AAIA,OAAO,MAAqC,MAAM,iBAAiB,CAAC;AACpE,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EAEpB,oBAAoB,EAEpB,0BAA0B,EAC1B,iBAAiB,EAEjB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,OAAO,GAOR,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"InversifyFastifyHttpAdapter.js","sourceRoot":"","sources":["../../src/adapter/InversifyFastifyHttpAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type HttpInstrumentationContext } from '@inversifyjs/http-instrumentation-core';
|
|
2
|
+
import { type FastifyInstance } from 'fastify';
|
|
3
|
+
export declare function installFastifyHttpInstrumentation(app: FastifyInstance, instrumentation: HttpInstrumentationContext): void;
|
|
4
|
+
//# sourceMappingURL=installFastifyHttpInstrumentation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installFastifyHttpInstrumentation.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/actions/installFastifyHttpInstrumentation.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,0BAA0B,EAQhC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,SAAS,CAAC;AAiBjB,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,eAAe,EACpB,eAAe,EAAE,0BAA0B,GAC1C,IAAI,CAyCN"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { closeHttpInstrumentationScope, emitHttpInstrumentationEvent, initializeHttpInstrumentationRequest, openHttpInstrumentationScope, readHttpStageDuration, redactHttpHeaders, startHttpStage, } from '@inversifyjs/http-instrumentation-core';
|
|
3
|
+
const fastifyRequestObservationSymbol = Symbol('@inversifyjs/http-fastify/requestObservation');
|
|
4
|
+
export function installFastifyHttpInstrumentation(app, instrumentation) {
|
|
5
|
+
app.addHook('onRequest', (request, reply, done) => {
|
|
6
|
+
startFastifyRequestObservation(request, reply, instrumentation);
|
|
7
|
+
done();
|
|
8
|
+
});
|
|
9
|
+
app.addHook('onResponse', (request, reply, done) => {
|
|
10
|
+
finishFastifyRequestObservation(request, reply, instrumentation, false);
|
|
11
|
+
done();
|
|
12
|
+
});
|
|
13
|
+
app.addHook('onRequestAbort', (request, done) => {
|
|
14
|
+
const observation = readFastifyRequestObservation(request);
|
|
15
|
+
if (observation !== undefined) {
|
|
16
|
+
finishFastifyRequestObservation(request, observation.reply, instrumentation, true);
|
|
17
|
+
}
|
|
18
|
+
done();
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function startFastifyRequestObservation(request, reply, instrumentation) {
|
|
22
|
+
if (readFastifyRequestObservation(request) !== undefined) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const requestId = randomUUID();
|
|
26
|
+
const stage = startHttpStage();
|
|
27
|
+
initializeHttpInstrumentationRequest(request, requestId);
|
|
28
|
+
const scope = openHttpInstrumentationScope(request, randomUUID());
|
|
29
|
+
const observation = {
|
|
30
|
+
executionId: scope.executionId,
|
|
31
|
+
reply,
|
|
32
|
+
requestId: scope.requestId,
|
|
33
|
+
stage,
|
|
34
|
+
};
|
|
35
|
+
writeFastifyRequestObservation(request, observation);
|
|
36
|
+
emitHttpInstrumentationEvent(instrumentation.sinks, {
|
|
37
|
+
executionId: scope.executionId,
|
|
38
|
+
headers: redactHttpHeaders(request.headers),
|
|
39
|
+
method: request.method,
|
|
40
|
+
requestId: scope.requestId,
|
|
41
|
+
timestamp: stage.startedAt,
|
|
42
|
+
type: 'http.request.started',
|
|
43
|
+
url: request.url,
|
|
44
|
+
}, instrumentation.reportSinkError);
|
|
45
|
+
}
|
|
46
|
+
function finishFastifyRequestObservation(request, reply, instrumentation, aborted) {
|
|
47
|
+
const observation = readFastifyRequestObservation(request);
|
|
48
|
+
if (observation === undefined) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
clearFastifyRequestObservation(request);
|
|
52
|
+
emitHttpInstrumentationEvent(instrumentation.sinks, {
|
|
53
|
+
aborted,
|
|
54
|
+
duration: readHttpStageDuration(observation.stage),
|
|
55
|
+
executionId: observation.executionId,
|
|
56
|
+
headers: redactHttpHeaders(reply.getHeaders()),
|
|
57
|
+
requestId: observation.requestId,
|
|
58
|
+
startedAt: observation.stage.startedAt,
|
|
59
|
+
statusCode: reply.statusCode,
|
|
60
|
+
timestamp: Date.now(),
|
|
61
|
+
type: 'http.response.sent',
|
|
62
|
+
}, instrumentation.reportSinkError);
|
|
63
|
+
closeHttpInstrumentationScope(request, observation.executionId);
|
|
64
|
+
}
|
|
65
|
+
function readFastifyRequestObservation(request) {
|
|
66
|
+
return request[fastifyRequestObservationSymbol];
|
|
67
|
+
}
|
|
68
|
+
function writeFastifyRequestObservation(request, observation) {
|
|
69
|
+
request[fastifyRequestObservationSymbol] = observation;
|
|
70
|
+
}
|
|
71
|
+
function clearFastifyRequestObservation(request) {
|
|
72
|
+
request[fastifyRequestObservationSymbol] = undefined;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=installFastifyHttpInstrumentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installFastifyHttpInstrumentation.js","sourceRoot":"","sources":["../../../src/instrumentation/actions/installFastifyHttpInstrumentation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
},
|
|
6
6
|
"description": "InversifyJs http fastify package",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@fastify/cookie": "11.1.
|
|
9
|
-
"@fastify/formbody": "9.0.
|
|
10
|
-
"@fastify/multipart": "10.1.
|
|
11
|
-
"@inversifyjs/http-core": "5.
|
|
8
|
+
"@fastify/cookie": "11.1.3",
|
|
9
|
+
"@fastify/formbody": "9.0.1",
|
|
10
|
+
"@fastify/multipart": "10.1.3",
|
|
11
|
+
"@inversifyjs/http-core": "5.8.0",
|
|
12
|
+
"@inversifyjs/http-instrumentation-core": "5.8.0"
|
|
12
13
|
},
|
|
13
14
|
"devDependencies": {
|
|
14
15
|
"@inversifyjs/eslint-plugin-require-extensions": "0.2.0",
|
|
@@ -17,7 +18,8 @@
|
|
|
17
18
|
"@stryker-mutator/vitest-runner": "10.0.0",
|
|
18
19
|
"@types/node": "24.19.1",
|
|
19
20
|
"@vitest/coverage-v8": "5.0.3",
|
|
20
|
-
"eslint": "10.
|
|
21
|
+
"eslint": "10.12.0",
|
|
22
|
+
"fastify": "5.12.5",
|
|
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.
|
|
59
|
+
"version": "5.8.0",
|
|
58
60
|
"type": "module",
|
|
59
61
|
"scripts": {
|
|
60
62
|
"build": "tsc",
|