fastify 5.9.0 → 5.11.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.
Files changed (74) hide show
  1. package/PROJECT_CHARTER.md +1 -1
  2. package/README.md +7 -10
  3. package/SPONSORS.md +1 -0
  4. package/build/build-validation.js +2 -2
  5. package/docs/Guides/Delay-Accepting-Requests.md +1 -1
  6. package/docs/Guides/Ecosystem.md +12 -9
  7. package/docs/Guides/Getting-Started.md +10 -10
  8. package/docs/Guides/Migration-Guide-V4.md +2 -2
  9. package/docs/Guides/Migration-Guide-V5.md +1 -1
  10. package/docs/Guides/Plugins-Guide.md +1 -1
  11. package/docs/Guides/Prototype-Poisoning.md +3 -3
  12. package/docs/Guides/Serverless.md +6 -13
  13. package/docs/Guides/Style-Guide.md +1 -1
  14. package/docs/Reference/Errors.md +6 -0
  15. package/docs/Reference/Hooks.md +1 -1
  16. package/docs/Reference/Logging.md +3 -0
  17. package/docs/Reference/Reply.md +2 -2
  18. package/docs/Reference/Request.md +13 -13
  19. package/docs/Reference/Server.md +117 -17
  20. package/docs/Reference/Type-Providers.md +24 -4
  21. package/docs/Reference/TypeScript.md +8 -10
  22. package/docs/Reference/Warnings.md +5 -0
  23. package/eslint.config.js +1 -1
  24. package/fastify.d.ts +60 -13
  25. package/fastify.js +28 -23
  26. package/lib/content-type-parser.js +1 -11
  27. package/lib/content-type.js +70 -19
  28. package/lib/context.js +0 -3
  29. package/lib/error-handler.js +7 -26
  30. package/lib/errors.js +17 -0
  31. package/lib/four-oh-four.js +8 -10
  32. package/lib/handle-request.js +37 -8
  33. package/lib/hooks.js +5 -1
  34. package/lib/log-controller.js +169 -0
  35. package/lib/logger-factory.js +25 -4
  36. package/lib/reply.js +35 -44
  37. package/lib/req-id-gen-factory.js +4 -1
  38. package/lib/request.js +3 -3
  39. package/lib/route.js +28 -36
  40. package/lib/schemas.js +3 -3
  41. package/lib/symbols.js +1 -1
  42. package/lib/validation.js +10 -1
  43. package/lib/warnings.js +19 -1
  44. package/package.json +4 -4
  45. package/test/content-type.test.js +51 -4
  46. package/test/find-route.test.js +35 -0
  47. package/test/fix-6411.test.js +65 -0
  48. package/test/genReqId.test.js +24 -0
  49. package/test/hooks.test.js +71 -0
  50. package/test/internals/all.test.js +2 -1
  51. package/test/internals/errors.test.js +21 -1
  52. package/test/internals/logger.test.js +322 -0
  53. package/test/internals/reply.test.js +57 -4
  54. package/test/internals/request.test.js +10 -7
  55. package/test/logger/logging.test.js +40 -1
  56. package/test/reply-error.test.js +35 -0
  57. package/test/rfc-10008.test.js +147 -0
  58. package/test/route-shorthand.test.js +14 -4
  59. package/test/schema-serialization.test.js +33 -0
  60. package/test/stream.4.test.js +2 -2
  61. package/test/trust-proxy.test.js +49 -30
  62. package/test/types/errors.tst.ts +2 -0
  63. package/test/types/route.tst.ts +3 -3
  64. package/types/content-type-parser.d.ts +26 -6
  65. package/types/errors.d.ts +3 -0
  66. package/types/hooks.d.ts +137 -76
  67. package/types/instance.d.ts +152 -47
  68. package/types/logger.d.ts +57 -2
  69. package/types/plugin.d.ts +7 -3
  70. package/types/register.d.ts +53 -10
  71. package/types/reply.d.ts +62 -14
  72. package/types/route.d.ts +68 -34
  73. package/types/type-provider.d.ts +29 -8
  74. package/types/utils.d.ts +2 -2
package/types/hooks.d.ts CHANGED
@@ -72,12 +72,18 @@ export type onRequestMetaHookHandler<
72
72
  SchemaCompiler extends FastifySchema = FastifySchema,
73
73
  TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault,
74
74
  Logger extends FastifyBaseLogger = FastifyBaseLogger,
75
- Return extends ReturnType<onRequestHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
76
- | ReturnType<onRequestAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
77
- = ReturnType<onRequestHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
78
- > = Return extends ReturnType<onRequestHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
79
- ? onRequestHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
80
- : onRequestAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
75
+ Return extends ReturnType<onRequestHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
76
+ SchemaCompiler, TypeProvider, Logger>>
77
+ | ReturnType<onRequestAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
78
+ TypeProvider, Logger>>
79
+ = ReturnType<onRequestHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
80
+ TypeProvider, Logger>>
81
+ > = Return extends ReturnType<onRequestHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
82
+ SchemaCompiler, TypeProvider, Logger>>
83
+ ? onRequestHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider,
84
+ Logger>
85
+ : onRequestAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
86
+ TypeProvider, Logger>
81
87
 
82
88
  /**
83
89
  * `preParsing` is the second hook to be executed in the request lifecycle. The previous hook was `onRequest`, the next hook will be `preValidation`.
@@ -131,12 +137,18 @@ export type preParsingMetaHookHandler<
131
137
  SchemaCompiler extends FastifySchema = FastifySchema,
132
138
  TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault,
133
139
  Logger extends FastifyBaseLogger = FastifyBaseLogger,
134
- Return extends ReturnType<preParsingHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
135
- | ReturnType<preParsingAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
136
- = ReturnType<preParsingHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
137
- > = Return extends ReturnType<preParsingHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
138
- ? preParsingHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
139
- : preParsingAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
140
+ Return extends ReturnType<preParsingHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
141
+ SchemaCompiler, TypeProvider, Logger>>
142
+ | ReturnType<preParsingAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
143
+ SchemaCompiler, TypeProvider, Logger>>
144
+ = ReturnType<preParsingHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
145
+ TypeProvider, Logger>>
146
+ > = Return extends ReturnType<preParsingHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
147
+ SchemaCompiler, TypeProvider, Logger>>
148
+ ? preParsingHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider,
149
+ Logger>
150
+ : preParsingAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
151
+ TypeProvider, Logger>
140
152
 
141
153
  /**
142
154
  * `preValidation` is the third hook to be executed in the request lifecycle. The previous hook was `preParsing`, the next hook will be `preHandler`.
@@ -187,12 +199,18 @@ export type preValidationMetaHookHandler<
187
199
  SchemaCompiler extends FastifySchema = FastifySchema,
188
200
  TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault,
189
201
  Logger extends FastifyBaseLogger = FastifyBaseLogger,
190
- Return extends ReturnType<preValidationHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
191
- | ReturnType<preValidationAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
192
- = ReturnType<preValidationHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
193
- > = Return extends ReturnType<preValidationHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
194
- ? preValidationHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
195
- : preValidationAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
202
+ Return extends ReturnType<preValidationHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
203
+ SchemaCompiler, TypeProvider, Logger>>
204
+ | ReturnType<preValidationAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
205
+ SchemaCompiler, TypeProvider, Logger>>
206
+ = ReturnType<preValidationHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
207
+ TypeProvider, Logger>>
208
+ > = Return extends ReturnType<preValidationHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
209
+ SchemaCompiler, TypeProvider, Logger>>
210
+ ? preValidationHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider,
211
+ Logger>
212
+ : preValidationAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
213
+ TypeProvider, Logger>
196
214
 
197
215
  /**
198
216
  * `preHandler` is the fourth hook to be executed in the request lifecycle. The previous hook was `preValidation`, the next hook will be `preSerialization`.
@@ -243,12 +261,18 @@ export type preHandlerMetaHookHandler<
243
261
  SchemaCompiler extends FastifySchema = FastifySchema,
244
262
  TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault,
245
263
  Logger extends FastifyBaseLogger = FastifyBaseLogger,
246
- Return extends ReturnType<preHandlerHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
247
- | ReturnType<preHandlerAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
248
- = ReturnType<preHandlerHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
249
- > = Return extends ReturnType<preHandlerHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
250
- ? preHandlerHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
251
- : preHandlerAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
264
+ Return extends ReturnType<preHandlerHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
265
+ SchemaCompiler, TypeProvider, Logger>>
266
+ | ReturnType<preHandlerAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
267
+ SchemaCompiler, TypeProvider, Logger>>
268
+ = ReturnType<preHandlerHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
269
+ TypeProvider, Logger>>
270
+ > = Return extends ReturnType<preHandlerHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
271
+ SchemaCompiler, TypeProvider, Logger>>
272
+ ? preHandlerHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider,
273
+ Logger>
274
+ : preHandlerAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
275
+ TypeProvider, Logger>
252
276
 
253
277
  // This is used within the `preSerialization` and `onSend` hook handlers
254
278
  interface DoneFuncWithErrOrRes {
@@ -312,12 +336,18 @@ export type preSerializationMetaHookHandler<
312
336
  SchemaCompiler extends FastifySchema = FastifySchema,
313
337
  TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault,
314
338
  Logger extends FastifyBaseLogger = FastifyBaseLogger,
315
- Return extends ReturnType<preSerializationHookHandler<PreSerializationPayload, RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
316
- | ReturnType<preSerializationAsyncHookHandler<PreSerializationPayload, RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
317
- = ReturnType<preSerializationHookHandler<PreSerializationPayload, RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
318
- > = Return extends ReturnType<preSerializationHookHandler<PreSerializationPayload, RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
319
- ? preSerializationHookHandler<PreSerializationPayload, RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
320
- : preSerializationAsyncHookHandler<PreSerializationPayload, RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
339
+ Return extends ReturnType<preSerializationHookHandler<PreSerializationPayload, RawServer, RawRequest, RawReply,
340
+ RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
341
+ | ReturnType<preSerializationAsyncHookHandler<PreSerializationPayload, RawServer, RawRequest, RawReply,
342
+ RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
343
+ = ReturnType<preSerializationHookHandler<PreSerializationPayload, RawServer, RawRequest, RawReply, RouteGeneric,
344
+ ContextConfig, SchemaCompiler, TypeProvider, Logger>>
345
+ > = Return extends ReturnType<preSerializationHookHandler<PreSerializationPayload, RawServer, RawRequest, RawReply,
346
+ RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
347
+ ? preSerializationHookHandler<PreSerializationPayload, RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
348
+ SchemaCompiler, TypeProvider, Logger>
349
+ : preSerializationAsyncHookHandler<PreSerializationPayload, RawServer, RawRequest, RawReply, RouteGeneric,
350
+ ContextConfig, SchemaCompiler, TypeProvider, Logger>
321
351
 
322
352
  /**
323
353
  * You can change the payload with the `onSend` hook. It is the sixth hook to be executed in the request lifecycle. The previous hook was `preSerialization`, the next hook will be `onResponse`.
@@ -374,12 +404,18 @@ export type onSendMetaHookHandler<
374
404
  SchemaCompiler extends FastifySchema = FastifySchema,
375
405
  TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault,
376
406
  Logger extends FastifyBaseLogger = FastifyBaseLogger,
377
- Return extends ReturnType<onSendHookHandler<OnSendPayload, RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
378
- | ReturnType<onSendAsyncHookHandler<OnSendPayload, RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
379
- = ReturnType<onSendHookHandler<OnSendPayload, RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
380
- > = Return extends ReturnType<onSendHookHandler<OnSendPayload, RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
381
- ? onSendHookHandler<OnSendPayload, RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
382
- : onSendAsyncHookHandler<OnSendPayload, RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
407
+ Return extends ReturnType<onSendHookHandler<OnSendPayload, RawServer, RawRequest, RawReply, RouteGeneric,
408
+ ContextConfig, SchemaCompiler, TypeProvider, Logger>>
409
+ | ReturnType<onSendAsyncHookHandler<OnSendPayload, RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
410
+ SchemaCompiler, TypeProvider, Logger>>
411
+ = ReturnType<onSendHookHandler<OnSendPayload, RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
412
+ SchemaCompiler, TypeProvider, Logger>>
413
+ > = Return extends ReturnType<onSendHookHandler<OnSendPayload, RawServer, RawRequest, RawReply, RouteGeneric,
414
+ ContextConfig, SchemaCompiler, TypeProvider, Logger>>
415
+ ? onSendHookHandler<OnSendPayload, RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
416
+ TypeProvider, Logger>
417
+ : onSendAsyncHookHandler<OnSendPayload, RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
418
+ TypeProvider, Logger>
383
419
 
384
420
  /**
385
421
  * `onResponse` is the seventh and last hook in the request hook lifecycle. The previous hook was `onSend`, there is no next hook.
@@ -431,12 +467,18 @@ export type onResponseMetaHookHandler<
431
467
  SchemaCompiler extends FastifySchema = FastifySchema,
432
468
  TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault,
433
469
  Logger extends FastifyBaseLogger = FastifyBaseLogger,
434
- Return extends ReturnType<onResponseHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
435
- | ReturnType<onResponseAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
436
- = ReturnType<onResponseHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
437
- > = Return extends ReturnType<onResponseHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
438
- ? onResponseHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
439
- : onResponseAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
470
+ Return extends ReturnType<onResponseHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
471
+ SchemaCompiler, TypeProvider, Logger>>
472
+ | ReturnType<onResponseAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
473
+ SchemaCompiler, TypeProvider, Logger>>
474
+ = ReturnType<onResponseHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
475
+ TypeProvider, Logger>>
476
+ > = Return extends ReturnType<onResponseHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
477
+ SchemaCompiler, TypeProvider, Logger>>
478
+ ? onResponseHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider,
479
+ Logger>
480
+ : onResponseAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
481
+ TypeProvider, Logger>
440
482
 
441
483
  /**
442
484
  * `onTimeout` is useful if you need to monitor the request timed out in your service. (if the `connectionTimeout` property is set on the fastify instance)
@@ -488,12 +530,18 @@ export type onTimeoutMetaHookHandler<
488
530
  SchemaCompiler extends FastifySchema = FastifySchema,
489
531
  TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault,
490
532
  Logger extends FastifyBaseLogger = FastifyBaseLogger,
491
- Return extends ReturnType<onTimeoutHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
492
- | ReturnType<onTimeoutAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
493
- = ReturnType<onTimeoutHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
494
- > = Return extends ReturnType<onTimeoutHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
495
- ? onTimeoutHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
496
- : onTimeoutAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
533
+ Return extends ReturnType<onTimeoutHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
534
+ SchemaCompiler, TypeProvider, Logger>>
535
+ | ReturnType<onTimeoutAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
536
+ TypeProvider, Logger>>
537
+ = ReturnType<onTimeoutHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
538
+ TypeProvider, Logger>>
539
+ > = Return extends ReturnType<onTimeoutHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
540
+ SchemaCompiler, TypeProvider, Logger>>
541
+ ? onTimeoutHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider,
542
+ Logger>
543
+ : onTimeoutAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
544
+ TypeProvider, Logger>
497
545
 
498
546
  /**
499
547
  * This hook is useful if you need to do some custom error logging or add some specific header in case of error.
@@ -552,12 +600,18 @@ export type onErrorMetaHookHandler<
552
600
  SchemaCompiler extends FastifySchema = FastifySchema,
553
601
  TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault,
554
602
  Logger extends FastifyBaseLogger = FastifyBaseLogger,
555
- Return extends ReturnType<onErrorHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, TError, SchemaCompiler, TypeProvider, Logger>>
556
- | ReturnType<onErrorAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, TError, SchemaCompiler, TypeProvider, Logger>>
557
- = ReturnType<onErrorHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, TError, SchemaCompiler, TypeProvider, Logger>>
558
- > = Return extends ReturnType<onErrorHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, TError, SchemaCompiler, TypeProvider, Logger>>
559
- ? onErrorHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, TError, SchemaCompiler, TypeProvider, Logger>
560
- : onErrorAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, TError, SchemaCompiler, TypeProvider, Logger>
603
+ Return extends ReturnType<onErrorHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, TError,
604
+ SchemaCompiler, TypeProvider, Logger>>
605
+ | ReturnType<onErrorAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, TError,
606
+ SchemaCompiler, TypeProvider, Logger>>
607
+ = ReturnType<onErrorHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, TError, SchemaCompiler,
608
+ TypeProvider, Logger>>
609
+ > = Return extends ReturnType<onErrorHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, TError,
610
+ SchemaCompiler, TypeProvider, Logger>>
611
+ ? onErrorHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, TError, SchemaCompiler,
612
+ TypeProvider, Logger>
613
+ : onErrorAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, TError, SchemaCompiler,
614
+ TypeProvider, Logger>
561
615
 
562
616
  /**
563
617
  * `onRequestAbort` is useful if you need to monitor the if the client aborts the request (if the `request.raw.aborted` property is set to `true`).
@@ -608,24 +662,30 @@ export type onRequestAbortMetaHookHandler<
608
662
  SchemaCompiler extends FastifySchema = FastifySchema,
609
663
  TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault,
610
664
  Logger extends FastifyBaseLogger = FastifyBaseLogger,
611
- Return extends ReturnType<onRequestAbortHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
612
- | ReturnType<onRequestAbortAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
613
- = ReturnType<onRequestAbortHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
614
- > = Return extends ReturnType<onRequestAbortHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>>
615
- ? onRequestAbortHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
616
- : onRequestAbortAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
665
+ Return extends ReturnType<onRequestAbortHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
666
+ SchemaCompiler, TypeProvider, Logger>>
667
+ | ReturnType<onRequestAbortAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
668
+ SchemaCompiler, TypeProvider, Logger>>
669
+ = ReturnType<onRequestAbortHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
670
+ TypeProvider, Logger>>
671
+ > = Return extends ReturnType<onRequestAbortHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig,
672
+ SchemaCompiler, TypeProvider, Logger>>
673
+ ? onRequestAbortHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
674
+ TypeProvider, Logger>
675
+ : onRequestAbortAsyncHookHandler<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
676
+ TypeProvider, Logger>
617
677
 
618
678
  export type LifecycleHook = 'onRequest'
619
- | 'preParsing'
620
- | 'preValidation'
621
- | 'preHandler'
622
- | 'preSerialization'
623
- | 'onSend'
624
- | 'onResponse'
625
- | 'onRequest'
626
- | 'onError'
627
- | 'onTimeout'
628
- | 'onRequestAbort'
679
+ | 'preParsing'
680
+ | 'preValidation'
681
+ | 'preHandler'
682
+ | 'preSerialization'
683
+ | 'onSend'
684
+ | 'onResponse'
685
+ | 'onRequest'
686
+ | 'onError'
687
+ | 'onTimeout'
688
+ | 'onRequestAbort'
629
689
 
630
690
  export type LifecycleHookLookup<K extends LifecycleHook> = K extends 'onRequest'
631
691
  ? onRequestHookHandler
@@ -692,7 +752,8 @@ export interface onRouteHookHandler<
692
752
  > {
693
753
  (
694
754
  this: FastifyInstance<RawServer, RawRequest, RawReply, Logger, TypeProvider>,
695
- opts: RouteOptions<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler, TypeProvider> & { routePath: string; path: string; prefix: string }
755
+ opts: RouteOptions<RawServer, RawRequest, RawReply, RouteGeneric, ContextConfig, SchemaCompiler,
756
+ TypeProvider> & { routePath: string; path: string; prefix: string }
696
757
  ): Promise<unknown> | void;
697
758
  }
698
759
 
@@ -830,11 +891,11 @@ export interface preCloseAsyncHookHandler<
830
891
  }
831
892
 
832
893
  export type ApplicationHook = 'onRoute'
833
- | 'onRegister'
834
- | 'onReady'
835
- | 'onListen'
836
- | 'onClose'
837
- | 'preClose'
894
+ | 'onRegister'
895
+ | 'onReady'
896
+ | 'onListen'
897
+ | 'onClose'
898
+ | 'preClose'
838
899
 
839
900
  export type ApplicationHookLookup<K extends ApplicationHook> = K extends 'onRegister'
840
901
  ? onRegisterHookHandler