Skip to content

Commit 8b8c58f

Browse files
committed
fix: Avoid shared decorator data.
1 parent 65e9215 commit 8b8c58f

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed

lib/index.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,13 @@ exports.plugin = fastify_plugin_1.default(function (instance, options, done) {
3131
const convertValidationErrors = (_b = options.convertValidationErrors) !== null && _b !== void 0 ? _b : true;
3232
const convertResponsesValidationErrors = (_c = options.convertResponsesValidationErrors) !== null && _c !== void 0 ? _c : !isProduction;
3333
const allowUndeclaredResponses = (_d = options.allowUndeclaredResponses) !== null && _d !== void 0 ? _d : false;
34-
instance.decorateRequest(interfaces_1.kHttpErrorsEnhancedProperties, {
35-
hideUnhandledErrors,
36-
convertValidationErrors,
37-
allowUndeclaredResponses
34+
instance.decorateRequest(interfaces_1.kHttpErrorsEnhancedProperties, null);
35+
instance.addHook('onRequest', async (request) => {
36+
request[interfaces_1.kHttpErrorsEnhancedProperties] = {
37+
hideUnhandledErrors,
38+
convertValidationErrors,
39+
allowUndeclaredResponses
40+
};
3841
});
3942
instance.setErrorHandler(handlers_1.handleErrors);
4043
instance.setNotFoundHandler(handlers_1.handleNotFoundError);

src/index.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { FastifyError, FastifyInstance, FastifyPluginOptions } from 'fastify'
1+
import { FastifyError, FastifyInstance, FastifyPluginOptions, FastifyRequest } from 'fastify'
22
import fastifyPlugin from 'fastify-plugin'
33
import { handleErrors, handleNotFoundError } from './handlers'
44
import { kHttpErrorsEnhancedProperties, kHttpErrorsEnhancedResponseValidations } from './interfaces'
@@ -16,11 +16,16 @@ export const plugin = fastifyPlugin(
1616
const convertResponsesValidationErrors = options.convertResponsesValidationErrors ?? !isProduction
1717
const allowUndeclaredResponses = options.allowUndeclaredResponses ?? false
1818

19-
instance.decorateRequest(kHttpErrorsEnhancedProperties, {
20-
hideUnhandledErrors,
21-
convertValidationErrors,
22-
allowUndeclaredResponses
19+
instance.decorateRequest(kHttpErrorsEnhancedProperties, null)
20+
21+
instance.addHook('onRequest', async (request: FastifyRequest) => {
22+
request[kHttpErrorsEnhancedProperties] = {
23+
hideUnhandledErrors,
24+
convertValidationErrors,
25+
allowUndeclaredResponses
26+
}
2327
})
28+
2429
instance.setErrorHandler(handleErrors)
2530
instance.setNotFoundHandler(handleNotFoundError)
2631

0 commit comments

Comments
 (0)