fastify 4.28.0 → 5.0.0-alpha.3
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/.idea/fastify.iml +12 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/jsLibraryMappings.xml +6 -0
- package/.idea/jsLinters/eslint.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/.markdownlint-cli2.yaml +1 -1
- package/.taprc +4 -8
- package/README.md +3 -6
- package/build/build-error-serializer.js +4 -1
- package/build/build-validation.js +5 -4
- package/docs/Guides/Database.md +1 -1
- package/docs/Guides/Delay-Accepting-Requests.md +3 -3
- package/docs/Guides/Ecosystem.md +2 -0
- package/docs/Guides/Migration-Guide-V5.md +20 -0
- package/docs/Guides/Write-Type-Provider.md +4 -2
- package/docs/Reference/ContentTypeParser.md +30 -1
- package/docs/Reference/Decorators.md +42 -16
- package/docs/Reference/Errors.md +10 -2
- package/docs/Reference/Hooks.md +48 -14
- package/docs/Reference/Logging.md +5 -5
- package/docs/Reference/Reply.md +23 -18
- package/docs/Reference/Request.md +5 -1
- package/docs/Reference/Routes.md +24 -28
- package/docs/Reference/Server.md +14 -53
- package/docs/Reference/Type-Providers.md +21 -26
- package/docs/Reference/TypeScript.md +46 -29
- package/docs/Reference/Warnings.md +0 -8
- package/eslint.config.js +27 -0
- package/examples/typescript-server.ts +14 -14
- package/fastify.d.ts +15 -14
- package/fastify.js +41 -15
- package/lib/configValidator.js +94 -76
- package/lib/contentTypeParser.js +54 -88
- package/lib/decorate.js +3 -7
- package/lib/error-serializer.js +2 -1
- package/lib/errors.js +31 -6
- package/lib/handleRequest.js +70 -39
- package/lib/httpMethods.js +34 -18
- package/lib/logger.js +24 -6
- package/lib/pluginUtils.js +5 -5
- package/lib/reply.js +7 -10
- package/lib/request.js +37 -19
- package/lib/route.js +6 -34
- package/lib/server.js +62 -123
- package/lib/warnings.js +24 -29
- package/lib/wrapThenable.js +46 -22
- package/package.json +38 -58
- package/test/404s.test.js +8 -12
- package/test/async-await.test.js +46 -2
- package/test/build/error-serializer.test.js +4 -2
- package/test/check.test.js +225 -0
- package/test/close-pipelining.test.js +2 -41
- package/test/close.test.js +1 -41
- package/test/content-parser.test.js +69 -117
- package/test/custom-parser.1.test.js +40 -1
- package/test/decorator-namespace.test._js_ +31 -0
- package/test/decorator.test.js +92 -43
- package/test/delete.test.js +21 -1
- package/test/diagnostics-channel/404.test.js +57 -0
- package/test/diagnostics-channel/async-delay-request.test.js +74 -0
- package/test/diagnostics-channel/async-request.test.js +72 -0
- package/test/diagnostics-channel/error-before-handler.test.js +36 -0
- package/test/diagnostics-channel/error-request.test.js +61 -0
- package/test/diagnostics-channel/error-status.test.js +39 -0
- package/test/{diagnostics-channel.test.js → diagnostics-channel/init.test.js} +6 -16
- package/test/diagnostics-channel/sync-delay-request.test.js +58 -0
- package/test/diagnostics-channel/sync-request-reply.test.js +58 -0
- package/test/diagnostics-channel/sync-request.test.js +61 -0
- package/test/encapsulated-error-handler.test.js +201 -14
- package/test/esm/index.test.js +2 -12
- package/test/findRoute.test.js +16 -0
- package/test/genReqId.test.js +9 -0
- package/test/get.test.js +28 -0
- package/test/has-route.test.js +1 -1
- package/test/helper.js +1 -5
- package/test/hooks.test.js +0 -4
- package/test/http2/constraint.test.js +22 -1
- package/test/http2/plain.test.js +21 -6
- package/test/http2/secure.test.js +12 -1
- package/test/https/https.test.js +57 -0
- package/test/inject.test.js +1 -2
- package/test/internals/decorator.test.js +0 -2
- package/test/internals/errors.test.js +57 -17
- package/test/internals/handleRequest.test.js +5 -1
- package/test/internals/initialConfig.test.js +5 -5
- package/test/internals/logger.test.js +31 -2
- package/test/internals/reply.test.js +6 -78
- package/test/internals/request.test.js +13 -11
- package/test/listen.1.test.js +5 -15
- package/test/listen.5.test.js +99 -0
- package/test/logger/instantiation.test.js +8 -8
- package/test/logger/logging.test.js +4 -4
- package/test/logger/options.test.js +102 -21
- package/test/logger/response.test.js +6 -6
- package/test/maxRequestsPerSocket.test.js +2 -5
- package/test/method-missing.test.js +24 -0
- package/test/plugin.1.test.js +2 -4
- package/test/plugin.2.test.js +0 -2
- package/test/plugin.3.test.js +0 -2
- package/test/plugin.4.test.js +92 -56
- package/test/register.test.js +2 -4
- package/test/reply-earlyHints.test.js +98 -0
- package/test/reply-error.test.js +0 -2
- package/test/route-hooks.test.js +0 -1
- package/test/route-shorthand.test.js +60 -0
- package/test/schema-special-usage.test.js +1 -1
- package/test/server.test.js +17 -2
- package/test/stream.2.test.js +1 -1
- package/test/stream.4.test.js +0 -42
- package/test/stream.5.test.js +2 -2
- package/test/trust-proxy.test.js +33 -27
- package/test/types/errors.test-d.ts +0 -2
- package/test/types/fastify.test-d.ts +14 -12
- package/test/types/hooks.test-d.ts +1 -0
- package/test/types/import.ts +1 -0
- package/test/types/instance.test-d.ts +10 -51
- package/test/types/logger.test-d.ts +43 -6
- package/test/types/plugin.test-d.ts +5 -2
- package/test/types/register.test-d.ts +2 -2
- package/test/types/reply.test-d.ts +13 -12
- package/test/types/request.test-d.ts +19 -8
- package/test/types/route.test-d.ts +30 -2
- package/test/types/schema.test-d.ts +2 -2
- package/test/types/serverFactory.test-d.ts +1 -1
- package/test/types/type-provider.test-d.ts +59 -12
- package/test/types/using.test-d.ts +4 -1
- package/test/url-rewriting.test.js +3 -2
- package/test/useSemicolonDelimiter.test.js +3 -6
- package/test/versioned-routes.test.js +1 -1
- package/test/web-api.test.js +0 -6
- package/types/content-type-parser.d.ts +3 -3
- package/types/context.d.ts +0 -1
- package/types/errors.d.ts +1 -0
- package/types/hooks.d.ts +6 -6
- package/types/instance.d.ts +28 -41
- package/types/logger.d.ts +3 -3
- package/types/plugin.d.ts +3 -3
- package/types/reply.d.ts +9 -12
- package/types/request.d.ts +5 -3
- package/types/route.d.ts +31 -31
- package/types/schema.d.ts +3 -3
- package/types/serverFactory.d.ts +2 -2
- package/types/type-provider.d.ts +22 -12
- package/types/utils.d.ts +18 -23
- package/.c8rc.json +0 -8
- package/.eslintrc +0 -4
- package/.tap/processinfo/029eb7a1-1942-40bc-98e2-cef3b7a14b5e.json +0 -268
- package/.tap/processinfo/03c196c6-01c3-4268-a9b5-298dff18a873.json +0 -269
- package/.tap/processinfo/04bbabba-8611-4908-9092-dfa9fcc13327.json +0 -268
- package/.tap/processinfo/05d8a743-3edf-4e2d-ae5a-dc99d0855ba5.json +0 -272
- package/.tap/processinfo/07718963-36a8-4d87-82ad-366c877a5247.json +0 -268
- package/.tap/processinfo/08fe3bde-5814-4308-9158-cdf1e47391b7.json +0 -268
- package/.tap/processinfo/0a3e3fb0-eabf-4532-ae80-20434da22678.json +0 -268
- package/.tap/processinfo/0caf2a75-4b3a-46c4-9b41-c7e450e5e15f.json +0 -268
- package/.tap/processinfo/0cf35d52-e5b2-4884-bcf0-b0ab3017b689.json +0 -268
- package/.tap/processinfo/0e666134-5013-4ecd-9ee6-59b22716c39c.json +0 -268
- package/.tap/processinfo/1087b811-4ec4-4f91-92b4-a78a51a437de.json +0 -268
- package/.tap/processinfo/13709ed3-b68c-42cf-8472-b0c4b8a89d2b.json +0 -268
- package/.tap/processinfo/13ac2f18-d0e0-439f-bc86-2ff0119af857.json +0 -268
- package/.tap/processinfo/13e47e0e-f6e8-4381-8a42-923b661f4a4f.json +0 -268
- package/.tap/processinfo/143f7d43-b8e8-4666-b482-f28fb37160ee.json +0 -268
- package/.tap/processinfo/14f3801d-03ab-4db3-9df5-c5d47e0a8cf0.json +0 -270
- package/.tap/processinfo/15a07dad-4bcd-442c-95e0-30c31f2b9818.json +0 -273
- package/.tap/processinfo/191ad3ad-04d8-4fb9-b119-ad2811f9b925.json +0 -243
- package/.tap/processinfo/1b25d54b-62d3-44cd-b581-31e705522fae.json +0 -268
- package/.tap/processinfo/1b7cb260-f04b-4135-a4fe-093081c4706f.json +0 -268
- package/.tap/processinfo/1e395d63-4815-4c77-aa47-df3709cc0ef9.json +0 -268
- package/.tap/processinfo/1e7f6a54-3abf-4771-863a-585cba110aec.json +0 -268
- package/.tap/processinfo/21a15e1d-0b41-47d8-b03d-0ba130969034.json +0 -244
- package/.tap/processinfo/21e02016-9ecd-4983-8417-9c74d224644f.json +0 -269
- package/.tap/processinfo/2327d941-d0d5-4762-b386-02a9a27ad28e.json +0 -268
- package/.tap/processinfo/23d39204-eac9-4f57-8db4-ffa996227fbd.json +0 -268
- package/.tap/processinfo/2493875a-0ac6-4d53-993c-f44471fd0678.json +0 -268
- package/.tap/processinfo/2698669f-f1e7-4a12-a687-8d58177be2b0.json +0 -269
- package/.tap/processinfo/2862b053-0a3d-46d7-9381-ffcb06287609.json +0 -268
- package/.tap/processinfo/2ac1b8d6-ac92-40e2-a59a-7681069f487c.json +0 -268
- package/.tap/processinfo/2c75e5f7-c4ef-47e4-a1c4-105eef6c0fab.json +0 -242
- package/.tap/processinfo/2e2c45cd-718b-4e5a-bf88-f801630f2803.json +0 -268
- package/.tap/processinfo/2f9ca478-3e03-4cce-a0bc-fcdc86d7c316.json +0 -268
- package/.tap/processinfo/30e3117f-fb74-456f-8f02-527e9eb9fcc3.json +0 -268
- package/.tap/processinfo/332be679-63c7-4b49-8b87-ef55995ada2d.json +0 -268
- package/.tap/processinfo/37c36f95-07f9-4ef0-8ab4-9e107d51b605.json +0 -269
- package/.tap/processinfo/3874eae2-f3db-44ef-9a9f-c8169d4b2b76.json +0 -268
- package/.tap/processinfo/38a7c3da-a411-41d0-8993-9deefd23500d.json +0 -268
- package/.tap/processinfo/3a7b6dbd-e153-4ce5-b557-21fb82009983.json +0 -269
- package/.tap/processinfo/3c6731ec-936d-470f-b7b0-0c87b54be051.json +0 -268
- package/.tap/processinfo/3c850ea9-4ef0-4044-a3fd-fbadfa9d543e.json +0 -268
- package/.tap/processinfo/3e4e15e0-a325-46f0-be57-5fd374560b7a.json +0 -269
- package/.tap/processinfo/3ed868e0-887c-402a-9f22-b1fdb74b4da0.json +0 -268
- package/.tap/processinfo/405498d7-5854-4ce1-a7dc-06920932f26d.json +0 -268
- package/.tap/processinfo/40b7eb19-ae35-4490-8a11-eb91a573c590.json +0 -268
- package/.tap/processinfo/40bb1260-d856-4248-8939-a0a05e322041.json +0 -268
- package/.tap/processinfo/41252e0b-7f69-44cc-b356-dd94bcbfdb29.json +0 -268
- package/.tap/processinfo/418fa710-e2fd-4508-b533-c179958da464.json +0 -269
- package/.tap/processinfo/433ef009-63aa-48fe-8e5d-c725228fa2fc.json +0 -268
- package/.tap/processinfo/44bf577c-9c01-4197-bd29-2e1ae888c4d4.json +0 -268
- package/.tap/processinfo/458fb7f2-20b9-48a2-8853-403c9851f605.json +0 -268
- package/.tap/processinfo/46b9892b-bb23-4b86-b0fa-9297f08c611a.json +0 -268
- package/.tap/processinfo/46bd9aaf-6cf3-4bd5-b90d-e136a7299a8e.json +0 -268
- package/.tap/processinfo/4779aa5f-e57a-4fcc-87e2-7d0bd4fca27f.json +0 -268
- package/.tap/processinfo/47b73f4b-ab31-49e1-97fd-8436dbe4bdf3.json +0 -269
- package/.tap/processinfo/49dba52e-e0c9-445d-8e9d-6d9ebe3ce6c4.json +0 -268
- package/.tap/processinfo/4b1dbc61-4e65-4c56-9784-2036f369038a.json +0 -268
- package/.tap/processinfo/4b6f0b40-43ef-4668-83a0-e07e28509df5.json +0 -268
- package/.tap/processinfo/4c236f70-f532-460b-8f7a-dd973301d493.json +0 -268
- package/.tap/processinfo/4d92b707-a268-48b8-885b-004d3a288c41.json +0 -269
- package/.tap/processinfo/4ff10bae-7c97-4c0a-b712-6c0d2f8c0e8e.json +0 -270
- package/.tap/processinfo/50f95bd5-ae12-4d83-99f4-ae9b0690c6a8.json +0 -268
- package/.tap/processinfo/557e4a49-d99c-4a63-b2f2-f33d897ab874.json +0 -268
- package/.tap/processinfo/589fd21a-8319-4abf-8cf7-82cb4a463a4b.json +0 -269
- package/.tap/processinfo/5a872f3a-949f-40be-8004-d739d034255c.json +0 -272
- package/.tap/processinfo/5abc301a-23da-424d-891e-3afbaff9156c.json +0 -269
- package/.tap/processinfo/5c31614c-a766-4837-ab59-dd6977166f72.json +0 -253
- package/.tap/processinfo/5d1e90c8-d819-4901-b022-f9ea4cd81978.json +0 -268
- package/.tap/processinfo/5d283e67-f31d-4fa8-a559-a1d8e82ee046.json +0 -269
- package/.tap/processinfo/5df505bc-6a4b-4c41-822f-51e2d7111de8.json +0 -268
- package/.tap/processinfo/5eaf64a2-fbfd-40e7-b391-c30f744b2bf1.json +0 -269
- package/.tap/processinfo/5ef5ede0-6436-4938-8401-d32ad4bffd5d.json +0 -268
- package/.tap/processinfo/606f05c0-8293-41db-bc92-eea82123697f.json +0 -269
- package/.tap/processinfo/6446806d-6cab-4c1d-a9ed-6bccaf3c4ea9.json +0 -268
- package/.tap/processinfo/64da7e08-925d-444d-98de-6568c6115d8d.json +0 -269
- package/.tap/processinfo/6917da6d-d2dc-466a-a893-7fb7412dde96.json +0 -268
- package/.tap/processinfo/69bbeee0-c398-4ccf-98b3-fb625a63bab4.json +0 -268
- package/.tap/processinfo/6da6ea8f-3370-4703-b230-90159531f766.json +0 -268
- package/.tap/processinfo/6ecffe1f-3016-4c11-9294-b488baced99f.json +0 -268
- package/.tap/processinfo/6f23f41f-ccbd-48cb-9ab6-311db0cfb65c.json +0 -270
- package/.tap/processinfo/70168912-9bb2-4334-bb89-041f1764cddf.json +0 -268
- package/.tap/processinfo/713a674e-40e1-46b4-866e-949d57c1a9f9.json +0 -270
- package/.tap/processinfo/730254d4-eacb-4cdf-80f4-8da22341cde5.json +0 -268
- package/.tap/processinfo/7344e559-c546-416f-8f1b-0f9fe12c6f02.json +0 -268
- package/.tap/processinfo/7556217a-0155-448f-b4d4-bec1bb0f6040.json +0 -269
- package/.tap/processinfo/7572079c-166c-4c4c-85ff-89b9430b214f.json +0 -268
- package/.tap/processinfo/7808180f-1974-47cd-bba2-2d6b8b711d65.json +0 -273
- package/.tap/processinfo/796dde83-da66-4db2-8d27-d45a3627c9c7.json +0 -268
- package/.tap/processinfo/7979819f-3723-48be-9f55-be700e689441.json +0 -270
- package/.tap/processinfo/7a664d39-d7f5-42f9-89df-15563048fab6.json +0 -268
- package/.tap/processinfo/7b047b72-01d9-4217-857c-93341651b4b3.json +0 -269
- package/.tap/processinfo/7ce41af6-7961-45ae-8c6f-b6e1c5692a48.json +0 -268
- package/.tap/processinfo/7e1de1c6-127e-463d-9357-081ee33ef5ce.json +0 -269
- package/.tap/processinfo/81ac7a7f-b0c0-4ef6-82cb-c718ea84e152.json +0 -268
- package/.tap/processinfo/851a058f-a497-4b10-a0b7-c9182d9c4d5a.json +0 -268
- package/.tap/processinfo/86502974-c245-4194-ade4-d9c6fdbb757e.json +0 -268
- package/.tap/processinfo/86b9786f-4a98-43b8-882a-5f936b876f08.json +0 -241
- package/.tap/processinfo/8a3fe726-86ab-4300-8d73-7eacbbc02a05.json +0 -268
- package/.tap/processinfo/8adf928b-c963-4ba0-9c35-606fcbd8a2aa.json +0 -272
- package/.tap/processinfo/8b31a6d8-1a33-4a27-93ca-1c5b364be068.json +0 -240
- package/.tap/processinfo/8ec12773-6b18-49a2-8e52-874c797df965.json +0 -833
- package/.tap/processinfo/8edb9502-3420-42fb-a602-e5de93be2df1.json +0 -268
- package/.tap/processinfo/8fc572e6-9828-4f98-a49c-9e081b2193c4.json +0 -242
- package/.tap/processinfo/8fee2d30-c5dd-4fae-9cf2-2ef8dd0f90de.json +0 -834
- package/.tap/processinfo/92cc0496-5f26-4370-8212-18136b972f99.json +0 -268
- package/.tap/processinfo/93a3f064-3f6e-4f49-becb-f7925f2961a9.json +0 -268
- package/.tap/processinfo/967e3697-8310-4a19-8dd5-927ac8bd6c79.json +0 -269
- package/.tap/processinfo/97225e23-9d30-4287-b3f5-72bccebec50b.json +0 -268
- package/.tap/processinfo/9a363bc6-4e65-47e8-94ca-26a9db428fb4.json +0 -268
- package/.tap/processinfo/9d2fe462-57fa-43f1-b02c-d188f15de30b.json +0 -270
- package/.tap/processinfo/a00b6cda-feb7-4b8a-8179-4c43bc29d670.json +0 -269
- package/.tap/processinfo/a017cbd5-4ac7-49e1-8c77-1bf4f6e7f2a6.json +0 -271
- package/.tap/processinfo/a1277309-1984-48f8-b60b-f5e8639736be.json +0 -271
- package/.tap/processinfo/a16bf53e-4337-48ff-88fa-67f55738e0f5.json +0 -268
- package/.tap/processinfo/a3a9848f-440e-41bb-9b0b-568bcfee0ddc.json +0 -268
- package/.tap/processinfo/a468c11f-f2f1-4e92-9ba0-6d28b6569b72.json +0 -268
- package/.tap/processinfo/a5880465-68f1-46b3-84a5-0da389d0bc67.json +0 -268
- package/.tap/processinfo/a666f394-39b4-44ad-8e74-abebf74dde3b.json +0 -270
- package/.tap/processinfo/af09d8ca-7053-4410-b514-b22c47f5979f.json +0 -268
- package/.tap/processinfo/af203309-28aa-459d-a56e-d88833695521.json +0 -268
- package/.tap/processinfo/afa2f7b6-dcd2-4d90-bf3c-54ba8b6800eb.json +0 -268
- package/.tap/processinfo/b231291d-ef14-4ff0-85f9-38a73a5408f8.json +0 -268
- package/.tap/processinfo/b3d3f2a1-a9fc-4d88-b122-fae90248cd59.json +0 -268
- package/.tap/processinfo/b834bf83-26c4-403a-8e91-eb15fe4b0b5d.json +0 -268
- package/.tap/processinfo/b8786fd7-47df-4ac1-8d6f-2d4c7623c681.json +0 -268
- package/.tap/processinfo/b9758f53-7f5a-4b03-8684-8a42ad644e5a.json +0 -268
- package/.tap/processinfo/bd194ea2-a21a-4604-b225-ee48abf1e607.json +0 -242
- package/.tap/processinfo/bd7ced53-3872-43b7-ad73-3352e50b728b.json +0 -268
- package/.tap/processinfo/be50295b-7e50-46cd-8bf1-637bf222699c.json +0 -268
- package/.tap/processinfo/bec61dd9-aa52-4e6c-8e37-5c9c10e935fd.json +0 -268
- package/.tap/processinfo/c015adf9-1d60-447e-87b5-b2031fe55bba.json +0 -268
- package/.tap/processinfo/c0666afa-7f64-45bd-97fb-145df1380157.json +0 -268
- package/.tap/processinfo/c2c0c012-c1c0-4457-84d6-dadba8396c94.json +0 -268
- package/.tap/processinfo/c3dd3ecd-737b-47ce-a917-54341c7bbed3.json +0 -268
- package/.tap/processinfo/c41ac06d-64b8-4bb3-bf56-0551f5a48f4b.json +0 -268
- package/.tap/processinfo/c4235bfb-a2aa-4271-9c6b-3ceb370219b1.json +0 -268
- package/.tap/processinfo/c4e6f24f-288c-493c-b6f0-02924aeb6758.json +0 -270
- package/.tap/processinfo/c54227bb-4a7b-40bb-bfe6-b54fe55078f3.json +0 -268
- package/.tap/processinfo/c699de91-3b0b-4466-9418-6910a3eb640a.json +0 -269
- package/.tap/processinfo/c74e2f37-451a-4577-ac18-e597fbd9a1d4.json +0 -269
- package/.tap/processinfo/c90cccec-5b4b-445f-a935-ac22859675d0.json +0 -252
- package/.tap/processinfo/c9dd6c7d-0d16-45e5-87ae-117388bf2994.json +0 -268
- package/.tap/processinfo/ca2e48fb-58c5-47fc-ad2e-263838aea42c.json +0 -272
- package/.tap/processinfo/ca87351d-c710-45c1-838a-16bccac59874.json +0 -273
- package/.tap/processinfo/cdb4a671-5776-4944-91b9-c456c58841ef.json +0 -268
- package/.tap/processinfo/cf10fdc8-6a87-447a-9e12-45f447af61f3.json +0 -244
- package/.tap/processinfo/cf3f1f08-643e-4f24-82ca-40f7a349c3d1.json +0 -268
- package/.tap/processinfo/d091172a-06a5-469b-82a9-8fefe3dd99da.json +0 -240
- package/.tap/processinfo/d1675431-61d6-45f8-a010-6e654112a00a.json +0 -272
- package/.tap/processinfo/d2d54aa2-c221-4ad4-b6b7-0c58e3c3679c.json +0 -269
- package/.tap/processinfo/d4f3c95a-ddbe-419d-bce0-dd6acceee21f.json +0 -268
- package/.tap/processinfo/d54ed8f1-43c3-478a-90d3-2c8aced723f2.json +0 -269
- package/.tap/processinfo/d6e5a2a6-4647-4d98-916c-aec4ace54a65.json +0 -268
- package/.tap/processinfo/d7280c64-45e6-4b12-affc-3ac9a5d4014a.json +0 -268
- package/.tap/processinfo/d82c8367-d825-4405-88df-07298f6ef840.json +0 -269
- package/.tap/processinfo/d8f97e53-e921-4d33-9c8d-2f7e807a9425.json +0 -268
- package/.tap/processinfo/da546a73-9714-4f8c-bdbb-e42730edbcfa.json +0 -268
- package/.tap/processinfo/da7fb7fb-1da4-49f8-a3ee-d4ea623c01a5.json +0 -268
- package/.tap/processinfo/daa6a016-4f0c-4050-923c-2022e0bb21d8.json +0 -268
- package/.tap/processinfo/db9a251d-8540-4719-b464-e7d5febd97d1.json +0 -240
- package/.tap/processinfo/dc10c603-8e58-4611-baa3-44da2578d07a.json +0 -268
- package/.tap/processinfo/dde56c1a-858c-47cc-b0bb-61279620ac17.json +0 -268
- package/.tap/processinfo/e0d9c4ea-f7c7-4c64-8ced-66dc6f0ac5d2.json +0 -271
- package/.tap/processinfo/e121454f-5dfa-4209-ba15-4c39840871f2.json +0 -831
- package/.tap/processinfo/e1f43e40-c3fe-4eb8-a713-d5910cc6b25a.json +0 -268
- package/.tap/processinfo/e4575e7a-f00e-488b-94e1-8f877b54725e.json +0 -268
- package/.tap/processinfo/e9ad667e-8603-4488-af64-449cc9532803.json +0 -268
- package/.tap/processinfo/eb26a697-e5e2-4730-aeea-bcb9c49afd4d.json +0 -268
- package/.tap/processinfo/eb29d1c3-feaf-4744-9d84-cf257e8269b0.json +0 -268
- package/.tap/processinfo/ee720c0a-ed64-4e7e-8c0a-139c7b9725d2.json +0 -268
- package/.tap/processinfo/ef88c13a-87b2-49e4-a683-7b812505cd6f.json +0 -268
- package/.tap/processinfo/f4ed6948-dac0-4128-9f86-d083b6918ea7.json +0 -268
- package/.tap/processinfo/f7544c01-8ac7-4e42-8ad5-c4d62e094d1f.json +0 -270
- package/.tap/processinfo/f7cee4b3-7bcc-4591-a628-5629b0b41c9e.json +0 -268
- package/.tap/processinfo/f9c0a1f7-c1a4-44d3-ae3f-8c1eb42cd746.json +0 -269
- package/.tap/processinfo/fc46b4da-79db-4201-af7e-34bb17f92d69.json +0 -270
- package/.tap/processinfo/fccc0056-03c4-40cb-9d0b-2db4bbe573c1.json +0 -268
- package/.tap/processinfo/fd2df572-54d7-4ce7-b7aa-a2b4b00d4127.json +0 -254
- package/.tap/processinfo/fea9377f-b473-484d-bee6-ac7f49e50937.json +0 -269
- package/.tap/processinfo/feb516dc-abda-46e6-9b42-d37adfc63366.json +0 -268
- package/.tap/processinfo/ff0fda4c-aa2e-4236-906e-fdfb6bd6632e.json +0 -269
- package/.tap/test-results/test/404s.test.js.tap +0 -623
- package/.tap/test-results/test/500s.test.js.tap +0 -64
- package/.tap/test-results/test/allowUnsafeRegex.test.js.tap +0 -36
- package/.tap/test-results/test/als.test.js.tap +0 -15
- package/.tap/test-results/test/async-await.test.js.tap +0 -184
- package/.tap/test-results/test/async-dispose.test.js.tap +0 -8
- package/.tap/test-results/test/async_hooks.test.js.tap +0 -10
- package/.tap/test-results/test/bodyLimit.test.js.tap +0 -48
- package/.tap/test-results/test/buffer.test.js.tap +0 -20
- package/.tap/test-results/test/build/error-serializer.test.js.tap +0 -8
- package/.tap/test-results/test/build/version.test.js.tap +0 -7
- package/.tap/test-results/test/case-insensitive.test.js.tap +0 -36
- package/.tap/test-results/test/chainable.test.js.tap +0 -17
- package/.tap/test-results/test/check.test.js.tap +0 -10
- package/.tap/test-results/test/childLoggerFactory.test.js.tap +0 -23
- package/.tap/test-results/test/client-timeout.test.js.tap +0 -7
- package/.tap/test-results/test/close-pipelining.test.js.tap +0 -15
- package/.tap/test-results/test/close.test.js.tap +0 -172
- package/.tap/test-results/test/connectionTimeout.test.js.tap +0 -12
- package/.tap/test-results/test/constrained-routes.test.js.tap +0 -173
- package/.tap/test-results/test/content-length.test.js.tap +0 -46
- package/.tap/test-results/test/content-parser.test.js.tap +0 -266
- package/.tap/test-results/test/content-type.test.js.tap +0 -14
- package/.tap/test-results/test/context-config.test.js.tap +0 -41
- package/.tap/test-results/test/copy.test.js.tap +0 -14
- package/.tap/test-results/test/custom-http-server.test.js.tap +0 -30
- package/.tap/test-results/test/custom-parser-async.test.js.tap +0 -21
- package/.tap/test-results/test/custom-parser.0.test.js.tap +0 -199
- package/.tap/test-results/test/custom-parser.1.test.js.tap +0 -90
- package/.tap/test-results/test/custom-parser.2.test.js.tap +0 -22
- package/.tap/test-results/test/custom-parser.3.test.js.tap +0 -53
- package/.tap/test-results/test/custom-parser.4.test.js.tap +0 -45
- package/.tap/test-results/test/custom-parser.5.test.js.tap +0 -41
- package/.tap/test-results/test/custom-querystring-parser.test.js.tap +0 -46
- package/.tap/test-results/test/decorator.test.js.tap +0 -465
- package/.tap/test-results/test/delete.test.js.tap +0 -110
- package/.tap/test-results/test/diagnostics-channel/404.test.js.tap +0 -15
- package/.tap/test-results/test/diagnostics-channel/async-delay-request.test.js.tap +0 -25
- package/.tap/test-results/test/diagnostics-channel/async-request.test.js.tap +0 -24
- package/.tap/test-results/test/diagnostics-channel/error-before-handler.test.js.tap +0 -9
- package/.tap/test-results/test/diagnostics-channel/error-request.test.js.tap +0 -20
- package/.tap/test-results/test/diagnostics-channel/error-status.test.js.tap +0 -10
- package/.tap/test-results/test/diagnostics-channel/init.test.js.tap +0 -14
- package/.tap/test-results/test/diagnostics-channel/sync-delay-request.test.js.tap +0 -16
- package/.tap/test-results/test/diagnostics-channel/sync-request-reply.test.js.tap +0 -16
- package/.tap/test-results/test/diagnostics-channel/sync-request.test.js.tap +0 -19
- package/.tap/test-results/test/encapsulated-child-logger-factory.test.js.tap +0 -18
- package/.tap/test-results/test/encapsulated-error-handler.test.js.tap +0 -243
- package/.tap/test-results/test/esm/errorCodes.test.mjs.tap +0 -9
- package/.tap/test-results/test/esm/esm.test.mjs.tap +0 -8
- package/.tap/test-results/test/esm/index.test.js.tap +0 -8
- package/.tap/test-results/test/fastify-instance.test.js.tap +0 -114
- package/.tap/test-results/test/findRoute.test.js.tap +0 -37
- package/.tap/test-results/test/fluent-schema.test.js.tap +0 -36
- package/.tap/test-results/test/genReqId.test.js.tap +0 -106
- package/.tap/test-results/test/get.test.js.tap +0 -151
- package/.tap/test-results/test/handler-context.test.js.tap +0 -19
- package/.tap/test-results/test/has-route.test.js.tap +0 -30
- package/.tap/test-results/test/head.test.js.tap +0 -130
- package/.tap/test-results/test/header-overflow.test.js.tap +0 -16
- package/.tap/test-results/test/hooks-async.test.js.tap +0 -286
- package/.tap/test-results/test/hooks.on-listen.test.js.tap +0 -311
- package/.tap/test-results/test/hooks.on-ready.test.js.tap +0 -151
- package/.tap/test-results/test/hooks.test.js.tap +0 -966
- package/.tap/test-results/test/http2/closing.test.js.tap +0 -35
- package/.tap/test-results/test/http2/constraint.test.js.tap +0 -32
- package/.tap/test-results/test/http2/head.test.js.tap +0 -9
- package/.tap/test-results/test/http2/missing-http2-module.test.js.tap +0 -8
- package/.tap/test-results/test/http2/plain.test.js.tap +0 -22
- package/.tap/test-results/test/http2/secure-with-fallback.test.js.tap +0 -40
- package/.tap/test-results/test/http2/secure.test.js.tap +0 -27
- package/.tap/test-results/test/http2/unknown-http-method.test.js.tap +0 -9
- package/.tap/test-results/test/https/custom-https-server.test.js.tap +0 -10
- package/.tap/test-results/test/https/https.test.js.tap +0 -45
- package/.tap/test-results/test/imports.test.js.tap +0 -14
- package/.tap/test-results/test/inject.test.js.tap +0 -165
- package/.tap/test-results/test/internals/all.test.js.tap +0 -42
- package/.tap/test-results/test/internals/contentTypeParser.test.js.tap +0 -14
- package/.tap/test-results/test/internals/context.test.js.tap +0 -14
- package/.tap/test-results/test/internals/decorator.test.js.tap +0 -51
- package/.tap/test-results/test/internals/errors.test.js.tap +0 -1212
- package/.tap/test-results/test/internals/handleRequest.test.js.tap +0 -69
- package/.tap/test-results/test/internals/hookRunner.test.js.tap +0 -143
- package/.tap/test-results/test/internals/hooks.test.js.tap +0 -45
- package/.tap/test-results/test/internals/initialConfig.test.js.tap +0 -125
- package/.tap/test-results/test/internals/logger.test.js.tap +0 -71
- package/.tap/test-results/test/internals/plugin.test.js.tap +0 -48
- package/.tap/test-results/test/internals/reply-serialize.test.js.tap +0 -166
- package/.tap/test-results/test/internals/reply.test.js.tap +0 -688
- package/.tap/test-results/test/internals/reqIdGenFactory.test.js.tap +0 -74
- package/.tap/test-results/test/internals/request-validate.test.js.tap +0 -384
- package/.tap/test-results/test/internals/request.test.js.tap +0 -163
- package/.tap/test-results/test/internals/server.test.js.tap +0 -30
- package/.tap/test-results/test/internals/validation.test.js.tap +0 -121
- package/.tap/test-results/test/keepAliveTimeout.test.js.tap +0 -12
- package/.tap/test-results/test/listen.1.test.js.tap +0 -31
- package/.tap/test-results/test/listen.2.test.js.tap +0 -46
- package/.tap/test-results/test/listen.3.test.js.tap +0 -25
- package/.tap/test-results/test/listen.4.test.js.tap +0 -51
- package/.tap/test-results/test/lock.test.js.tap +0 -29
- package/.tap/test-results/test/logger/instantiation.test.js.tap +0 -92
- package/.tap/test-results/test/logger/logging.test.js.tap +0 -117
- package/.tap/test-results/test/logger/options.test.js.tap +0 -165
- package/.tap/test-results/test/logger/request.test.js.tap +0 -82
- package/.tap/test-results/test/logger/response.test.js.tap +0 -38
- package/.tap/test-results/test/maxRequestsPerSocket.test.js.tap +0 -44
- package/.tap/test-results/test/method-missing.test.js.tap +0 -8
- package/.tap/test-results/test/middleware.test.js.tap +0 -17
- package/.tap/test-results/test/mkcalendar.test.js.tap +0 -43
- package/.tap/test-results/test/mkcol.test.js.tap +0 -14
- package/.tap/test-results/test/move.test.js.tap +0 -15
- package/.tap/test-results/test/noop-set.test.js.tap +0 -8
- package/.tap/test-results/test/nullable-validation.test.js.tap +0 -36
- package/.tap/test-results/test/options.error-handler.test.js.tap +0 -186
- package/.tap/test-results/test/options.test.js.tap +0 -174
- package/.tap/test-results/test/output-validation.test.js.tap +0 -66
- package/.tap/test-results/test/patch.error-handler.test.js.tap +0 -206
- package/.tap/test-results/test/patch.test.js.tap +0 -182
- package/.tap/test-results/test/plugin.1.test.js.tap +0 -78
- package/.tap/test-results/test/plugin.2.test.js.tap +0 -102
- package/.tap/test-results/test/plugin.3.test.js.tap +0 -58
- package/.tap/test-results/test/plugin.4.test.js.tap +0 -164
- package/.tap/test-results/test/post-empty-body.test.js.tap +0 -8
- package/.tap/test-results/test/pretty-print.test.js.tap +0 -82
- package/.tap/test-results/test/promises.test.js.tap +0 -46
- package/.tap/test-results/test/propfind.test.js.tap +0 -43
- package/.tap/test-results/test/proppatch.test.js.tap +0 -29
- package/.tap/test-results/test/proto-poisoning.test.js.tap +0 -47
- package/.tap/test-results/test/put.error-handler.test.js.tap +0 -206
- package/.tap/test-results/test/put.test.js.tap +0 -182
- package/.tap/test-results/test/register.test.js.tap +0 -61
- package/.tap/test-results/test/reply-code.test.js.tap +0 -40
- package/.tap/test-results/test/reply-earlyHints.test.js.tap +0 -22
- package/.tap/test-results/test/reply-error.test.js.tap +0 -643
- package/.tap/test-results/test/reply-trailers.test.js.tap +0 -176
- package/.tap/test-results/test/report.test.js.tap +0 -43
- package/.tap/test-results/test/request-error.test.js.tap +0 -98
- package/.tap/test-results/test/request-id.test.js.tap +0 -38
- package/.tap/test-results/test/request.deprecated.test.js.tap +0 -13
- package/.tap/test-results/test/requestTimeout.test.js.tap +0 -21
- package/.tap/test-results/test/route-hooks.test.js.tap +0 -498
- package/.tap/test-results/test/route-prefix.test.js.tap +0 -195
- package/.tap/test-results/test/route-shorthand.test.js.tap +0 -190
- package/.tap/test-results/test/route.1.test.js.tap +0 -93
- package/.tap/test-results/test/route.2.test.js.tap +0 -28
- package/.tap/test-results/test/route.3.test.js.tap +0 -39
- package/.tap/test-results/test/route.4.test.js.tap +0 -32
- package/.tap/test-results/test/route.5.test.js.tap +0 -54
- package/.tap/test-results/test/route.6.test.js.tap +0 -81
- package/.tap/test-results/test/route.7.test.js.tap +0 -93
- package/.tap/test-results/test/route.8.test.js.tap +0 -38
- package/.tap/test-results/test/router-options.test.js.tap +0 -104
- package/.tap/test-results/test/same-shape.test.js.tap +0 -22
- package/.tap/test-results/test/schema-examples.test.js.tap +0 -85
- package/.tap/test-results/test/schema-feature.test.js.tap +0 -445
- package/.tap/test-results/test/schema-serialization.test.js.tap +0 -194
- package/.tap/test-results/test/schema-special-usage.test.js.tap +0 -186
- package/.tap/test-results/test/schema-validation.test.js.tap +0 -199
- package/.tap/test-results/test/search.test.js.tap +0 -77
- package/.tap/test-results/test/serialize-response.test.js.tap +0 -26
- package/.tap/test-results/test/server.test.js.tap +0 -65
- package/.tap/test-results/test/set-error-handler.test.js.tap +0 -7
- package/.tap/test-results/test/skip-reply-send.test.js.tap +0 -272
- package/.tap/test-results/test/stream.1.test.js.tap +0 -36
- package/.tap/test-results/test/stream.2.test.js.tap +0 -20
- package/.tap/test-results/test/stream.3.test.js.tap +0 -34
- package/.tap/test-results/test/stream.4.test.js.tap +0 -40
- package/.tap/test-results/test/stream.5.test.js.tap +0 -37
- package/.tap/test-results/test/sync-routes.test.js.tap +0 -19
- package/.tap/test-results/test/throw.test.js.tap +0 -116
- package/.tap/test-results/test/trace.test.js.tap +0 -7
- package/.tap/test-results/test/trust-proxy.test.js.tap +0 -109
- package/.tap/test-results/test/type-provider.test.js.tap +0 -12
- package/.tap/test-results/test/unlock.test.js.tap +0 -14
- package/.tap/test-results/test/upgrade.test.js.tap +0 -8
- package/.tap/test-results/test/url-rewriting.test.js.tap +0 -39
- package/.tap/test-results/test/useSemicolonDelimiter.test.js.tap +0 -33
- package/.tap/test-results/test/validation-error-handling.test.js.tap +0 -180
- package/.tap/test-results/test/versioned-routes.test.js.tap +0 -151
- package/.tap/test-results/test/web-api.test.js.tap +0 -51
- package/.tap/test-results/test/wrapThenable.test.js.tap +0 -11
- package/EXPENSE_POLICY.md +0 -105
- package/test/default-route.test.js +0 -88
- package/test/listen.deprecated.test.js +0 -229
- package/test/unsupported-httpversion.test.js +0 -31
- package/types/.eslintrc.json +0 -48
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Buffer } from 'buffer'
|
|
2
|
-
import { expectAssignable,
|
|
3
|
-
import fastify, { FastifyReplyContext, FastifyReply, FastifyRequest, FastifySchema,
|
|
2
|
+
import { expectAssignable, expectError, expectType } from 'tsd'
|
|
3
|
+
import fastify, { FastifyReplyContext, FastifyReply, FastifyRequest, FastifySchema, FastifyTypeProviderDefault, RawRequestDefaultExpression, RouteHandler, RouteHandlerMethod } from '../../fastify'
|
|
4
4
|
import { FastifyInstance } from '../../types/instance'
|
|
5
5
|
import { FastifyLoggerInstance } from '../../types/logger'
|
|
6
6
|
import { ResolveReplyTypeWithRouteGeneric } from '../../types/reply'
|
|
@@ -22,18 +22,17 @@ const getHandler: RouteHandlerMethod = function (_request, reply) {
|
|
|
22
22
|
expectType<number>(reply.elapsedTime)
|
|
23
23
|
expectType<number>(reply.statusCode)
|
|
24
24
|
expectType<boolean>(reply.sent)
|
|
25
|
+
expectType<(hints: Record<string, string | string[]>, callback?: (() => void) | undefined) => void>(reply.writeEarlyHints)
|
|
25
26
|
expectType<((payload?: unknown) => FastifyReply)>(reply.send)
|
|
26
27
|
expectAssignable<(key: string, value: any) => FastifyReply>(reply.header)
|
|
27
|
-
expectAssignable<(values: {[key: string]: any}) => FastifyReply>(reply.headers)
|
|
28
|
+
expectAssignable<(values: { [key: string]: any }) => FastifyReply>(reply.headers)
|
|
28
29
|
expectAssignable<(key: string) => number | string | string[] | undefined>(reply.getHeader)
|
|
29
30
|
expectAssignable<() => { [key: string]: number | string | string[] | undefined }>(reply.getHeaders)
|
|
30
31
|
expectAssignable<(key: string) => FastifyReply>(reply.removeHeader)
|
|
31
32
|
expectAssignable<(key: string) => boolean>(reply.hasHeader)
|
|
32
|
-
expectType<{(statusCode: number, url: string): FastifyReply;(url: string, statusCode?: number): FastifyReply;}>(reply.redirect)
|
|
33
|
+
expectType<{ (statusCode: number, url: string): FastifyReply;(url: string, statusCode?: number): FastifyReply; }>(reply.redirect)
|
|
33
34
|
expectType<() => FastifyReply>(reply.hijack)
|
|
34
35
|
expectType<() => void>(reply.callNotFound)
|
|
35
|
-
// Test reply.getResponseTime() deprecation
|
|
36
|
-
expectDeprecated(reply.getResponseTime)
|
|
37
36
|
expectType<(contentType: string) => FastifyReply>(reply.type)
|
|
38
37
|
expectType<(fn: (payload: any) => string) => FastifyReply>(reply.serializer)
|
|
39
38
|
expectType<(payload: any) => string | ArrayBuffer | Buffer>(reply.serialize)
|
|
@@ -43,10 +42,10 @@ const getHandler: RouteHandlerMethod = function (_request, reply) {
|
|
|
43
42
|
expectType<(key: string) => FastifyReply>(reply.removeTrailer)
|
|
44
43
|
expectType<FastifyInstance>(reply.server)
|
|
45
44
|
expectAssignable<((httpStatus: string) => DefaultSerializationFunction | undefined)>(reply.getSerializationFunction)
|
|
46
|
-
expectAssignable<((schema: {[key: string]: unknown}) => DefaultSerializationFunction | undefined)>(reply.getSerializationFunction)
|
|
47
|
-
expectAssignable<((schema: {[key: string]: unknown}, httpStatus?: string) => DefaultSerializationFunction)>(reply.compileSerializationSchema)
|
|
48
|
-
expectAssignable<((input: {[key: string]: unknown}, schema: {[key: string]: unknown}, httpStatus?: string) => unknown)>(reply.serializeInput)
|
|
49
|
-
expectAssignable<((input: {[key: string]: unknown}, httpStatus: string) => unknown)>(reply.serializeInput)
|
|
45
|
+
expectAssignable<((schema: { [key: string]: unknown }) => DefaultSerializationFunction | undefined)>(reply.getSerializationFunction)
|
|
46
|
+
expectAssignable<((schema: { [key: string]: unknown }, httpStatus?: string) => DefaultSerializationFunction)>(reply.compileSerializationSchema)
|
|
47
|
+
expectAssignable<((input: { [key: string]: unknown }, schema: { [key: string]: unknown }, httpStatus?: string) => unknown)>(reply.serializeInput)
|
|
48
|
+
expectAssignable<((input: { [key: string]: unknown }, httpStatus: string) => unknown)>(reply.serializeInput)
|
|
50
49
|
}
|
|
51
50
|
|
|
52
51
|
interface ReplyPayload {
|
|
@@ -165,10 +164,12 @@ server.get<InvalidReplyHttpCodes>('get-invalid-http-codes-reply-error', async fu
|
|
|
165
164
|
})
|
|
166
165
|
})
|
|
167
166
|
|
|
167
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
168
168
|
const httpHeaderHandler: RouteHandlerMethod = function (_request, reply) {
|
|
169
169
|
// accept is a header provided by @types/node
|
|
170
170
|
reply.getHeader('accept')
|
|
171
|
-
|
|
171
|
+
/* eslint-disable @typescript-eslint/no-unused-expressions */
|
|
172
|
+
reply.getHeaders().accept
|
|
172
173
|
reply.hasHeader('accept')
|
|
173
174
|
reply.header('accept', 'test')
|
|
174
175
|
reply.headers({ accept: 'test' })
|
|
@@ -177,7 +178,7 @@ const httpHeaderHandler: RouteHandlerMethod = function (_request, reply) {
|
|
|
177
178
|
// x-fastify-test is not a header provided by @types/node
|
|
178
179
|
// and should not result in a typing error
|
|
179
180
|
reply.getHeader('x-fastify-test')
|
|
180
|
-
reply.getHeaders()['x-fastify-test']
|
|
181
|
+
reply.getHeaders()['x-fastify-test']
|
|
181
182
|
reply.hasHeader('x-fastify-test')
|
|
182
183
|
reply.header('x-fastify-test', 'test')
|
|
183
184
|
reply.headers({ 'x-fastify-test': 'test' })
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { expectAssignable, expectType } from 'tsd'
|
|
1
|
+
import { expectAssignable, expectError, expectType } from 'tsd'
|
|
2
2
|
import fastify, {
|
|
3
3
|
ContextConfigDefault,
|
|
4
4
|
FastifyRequestContext,
|
|
@@ -12,7 +12,8 @@ import fastify, {
|
|
|
12
12
|
RequestBodyDefault,
|
|
13
13
|
RequestGenericInterface,
|
|
14
14
|
RouteHandler,
|
|
15
|
-
RouteHandlerMethod
|
|
15
|
+
RouteHandlerMethod,
|
|
16
|
+
SafePromiseLike
|
|
16
17
|
} from '../../fastify'
|
|
17
18
|
import { FastifyInstance } from '../../types/instance'
|
|
18
19
|
import { FastifyLoggerInstance } from '../../types/logger'
|
|
@@ -54,7 +55,7 @@ type CustomRequest = FastifyRequest<{
|
|
|
54
55
|
}>
|
|
55
56
|
|
|
56
57
|
type HTTPRequestPart = 'body' | 'query' | 'querystring' | 'params' | 'headers'
|
|
57
|
-
type ExpectedGetValidationFunction = (input: {[key: string]: unknown}) => boolean
|
|
58
|
+
type ExpectedGetValidationFunction = (input: { [key: string]: unknown }) => boolean
|
|
58
59
|
|
|
59
60
|
interface CustomLoggerInterface extends FastifyLoggerInstance {
|
|
60
61
|
foo: FastifyLogFn; // custom severity logger method
|
|
@@ -69,6 +70,8 @@ const getHandler: RouteHandler = function (request, _reply) {
|
|
|
69
70
|
expectType<Readonly<RequestRouteOptions>>(request.routeOptions)
|
|
70
71
|
expectType<boolean>(request.is404)
|
|
71
72
|
expectType<string>(request.hostname)
|
|
73
|
+
expectType<string>(request.host)
|
|
74
|
+
expectType<number>(request.port)
|
|
72
75
|
expectType<string>(request.ip)
|
|
73
76
|
expectType<string[] | undefined>(request.ips)
|
|
74
77
|
expectType<RawRequestDefaultExpression>(request.raw)
|
|
@@ -94,9 +97,9 @@ const getHandler: RouteHandler = function (request, _reply) {
|
|
|
94
97
|
expectType<Error & { validation: any; validationContext: string } | undefined>(request.validationError)
|
|
95
98
|
expectType<FastifyInstance>(request.server)
|
|
96
99
|
expectAssignable<(httpPart: HTTPRequestPart) => ExpectedGetValidationFunction>(request.getValidationFunction)
|
|
97
|
-
expectAssignable<(schema: {[key: string]: unknown}) => ExpectedGetValidationFunction>(request.getValidationFunction)
|
|
98
|
-
expectAssignable<(input: {[key: string]: unknown}, schema: {[key: string]: unknown}, httpPart?: HTTPRequestPart) => boolean>(request.validateInput)
|
|
99
|
-
expectAssignable<(input: {[key: string]: unknown}, httpPart?: HTTPRequestPart) => boolean>(request.validateInput)
|
|
100
|
+
expectAssignable<(schema: { [key: string]: unknown }) => ExpectedGetValidationFunction>(request.getValidationFunction)
|
|
101
|
+
expectAssignable<(input: { [key: string]: unknown }, schema: { [key: string]: unknown }, httpPart?: HTTPRequestPart) => boolean>(request.validateInput)
|
|
102
|
+
expectAssignable<(input: { [key: string]: unknown }, httpPart?: HTTPRequestPart) => boolean>(request.validateInput)
|
|
100
103
|
}
|
|
101
104
|
|
|
102
105
|
const getHandlerWithCustomLogger: RouteHandlerMethod<RawServerDefault, RawRequestDefaultExpression, RawReplyDefaultExpression, RouteGenericInterface, ContextConfigDefault, FastifySchema, FastifyTypeProviderDefault, CustomLoggerInterface> = function (request, _reply) {
|
|
@@ -153,10 +156,18 @@ const customLogger: CustomLoggerInterface = {
|
|
|
153
156
|
child: () => customLogger
|
|
154
157
|
}
|
|
155
158
|
|
|
156
|
-
const serverWithCustomLogger = fastify({
|
|
157
|
-
|
|
159
|
+
const serverWithCustomLogger = fastify({ loggerInstance: customLogger })
|
|
160
|
+
expectError<
|
|
161
|
+
FastifyInstance<RawServerDefault, RawRequestDefaultExpression, RawReplyDefaultExpression, CustomLoggerInterface>
|
|
162
|
+
& Promise<FastifyInstance<RawServerDefault, RawRequestDefaultExpression, RawReplyDefaultExpression, CustomLoggerInterface>>
|
|
163
|
+
>(serverWithCustomLogger)
|
|
164
|
+
expectAssignable<
|
|
158
165
|
FastifyInstance<RawServerDefault, RawRequestDefaultExpression, RawReplyDefaultExpression, CustomLoggerInterface>
|
|
159
166
|
& PromiseLike<FastifyInstance<RawServerDefault, RawRequestDefaultExpression, RawReplyDefaultExpression, CustomLoggerInterface>>
|
|
160
167
|
>(serverWithCustomLogger)
|
|
168
|
+
expectType<
|
|
169
|
+
FastifyInstance<RawServerDefault, RawRequestDefaultExpression, RawReplyDefaultExpression, CustomLoggerInterface>
|
|
170
|
+
& SafePromiseLike<FastifyInstance<RawServerDefault, RawRequestDefaultExpression, RawReplyDefaultExpression, CustomLoggerInterface>>
|
|
171
|
+
>(serverWithCustomLogger)
|
|
161
172
|
|
|
162
173
|
serverWithCustomLogger.get('/get', getHandlerWithCustomLogger)
|
|
@@ -19,6 +19,14 @@ declare module '../../fastify' {
|
|
|
19
19
|
interface FastifyContextConfig {
|
|
20
20
|
foo: string;
|
|
21
21
|
bar: number;
|
|
22
|
+
includeMessage?: boolean;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
26
|
+
interface FastifyRequest<RouteGeneric, RawServer, RawRequest, SchemaCompiler, TypeProvider, ContextConfig, Logger, RequestType> {
|
|
27
|
+
message: ContextConfig extends { includeMessage: true }
|
|
28
|
+
? string
|
|
29
|
+
: null;
|
|
22
30
|
}
|
|
23
31
|
}
|
|
24
32
|
|
|
@@ -36,9 +44,29 @@ const routeHandlerWithReturnValue: RouteHandlerMethod = function (request, reply
|
|
|
36
44
|
return reply.send()
|
|
37
45
|
}
|
|
38
46
|
|
|
39
|
-
|
|
47
|
+
fastify().get(
|
|
48
|
+
'/',
|
|
49
|
+
{ config: { foo: 'bar', bar: 100, includeMessage: true } },
|
|
50
|
+
(req) => {
|
|
51
|
+
expectType<string>(req.message)
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
fastify().get(
|
|
56
|
+
'/',
|
|
57
|
+
{ config: { foo: 'bar', bar: 100, includeMessage: false } },
|
|
58
|
+
(req) => {
|
|
59
|
+
expectType<null>(req.message)
|
|
60
|
+
}
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
type LowerCaseHTTPMethods = 'delete' | 'get' | 'head' | 'patch' | 'post' | 'put' |
|
|
64
|
+
'options' | 'propfind' | 'proppatch' | 'mkcol' | 'copy' | 'move' | 'lock' |
|
|
65
|
+
'unlock' | 'trace' | 'search' | 'mkcalendar' | 'report'
|
|
40
66
|
|
|
41
|
-
['
|
|
67
|
+
;['DELETE', 'GET', 'HEAD', 'PATCH', 'POST', 'PUT', 'OPTIONS', 'PROPFIND',
|
|
68
|
+
'PROPPATCH', 'MKCOL', 'COPY', 'MOVE', 'LOCK', 'UNLOCK', 'TRACE', 'SEARCH', 'MKCALENDAR', 'REPORT'
|
|
69
|
+
].forEach(method => {
|
|
42
70
|
// route method
|
|
43
71
|
expectType<FastifyInstance>(fastify().route({
|
|
44
72
|
method: method as HTTPMethods,
|
|
@@ -70,7 +70,7 @@ expectAssignable<FastifyInstance>(server.setSerializerCompiler<FastifySchema & {
|
|
|
70
70
|
storeFunction (routeOpts, schemaValidationCode) { }
|
|
71
71
|
})
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
fastify({
|
|
74
74
|
jsonShorthand: false,
|
|
75
75
|
schemaController: {
|
|
76
76
|
compilersFactory: {
|
|
@@ -86,7 +86,7 @@ expectAssignable<FastifyInstance>(server.setSerializerCompiler<FastifySchema & {
|
|
|
86
86
|
storeFunction (routeOpts, schemaValidationCode) { }
|
|
87
87
|
})
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
fastify({
|
|
90
90
|
jsonShorthand: false,
|
|
91
91
|
schemaController: {
|
|
92
92
|
compilersFactory: {
|
|
@@ -4,7 +4,8 @@ import fastify, {
|
|
|
4
4
|
FastifyRequest,
|
|
5
5
|
FastifyReply,
|
|
6
6
|
FastifyInstance,
|
|
7
|
-
FastifyError
|
|
7
|
+
FastifyError,
|
|
8
|
+
SafePromiseLike
|
|
8
9
|
} from '../../fastify'
|
|
9
10
|
import { expectAssignable, expectError, expectType } from 'tsd'
|
|
10
11
|
import { IncomingHttpHeaders } from 'http'
|
|
@@ -23,7 +24,10 @@ expectAssignable(server.get('/', (req) => expectType<unknown>(req.body)))
|
|
|
23
24
|
// Remapping
|
|
24
25
|
// -------------------------------------------------------------------
|
|
25
26
|
|
|
26
|
-
interface NumberProvider extends FastifyTypeProvider {
|
|
27
|
+
interface NumberProvider extends FastifyTypeProvider {
|
|
28
|
+
validator: number
|
|
29
|
+
serializer: number
|
|
30
|
+
} // remap all schemas to numbers
|
|
27
31
|
|
|
28
32
|
expectAssignable(server.withTypeProvider<NumberProvider>().get(
|
|
29
33
|
'/',
|
|
@@ -47,7 +51,7 @@ expectAssignable(server.withTypeProvider<NumberProvider>().get(
|
|
|
47
51
|
// Override
|
|
48
52
|
// -------------------------------------------------------------------
|
|
49
53
|
|
|
50
|
-
interface OverriddenProvider extends FastifyTypeProvider {
|
|
54
|
+
interface OverriddenProvider extends FastifyTypeProvider { validator: 'inferenced' }
|
|
51
55
|
|
|
52
56
|
expectAssignable(server.withTypeProvider<OverriddenProvider>().get<{ Body: 'override' }>(
|
|
53
57
|
'/',
|
|
@@ -69,7 +73,10 @@ expectAssignable(server.withTypeProvider<OverriddenProvider>().get<{ Body: 'over
|
|
|
69
73
|
// TypeBox
|
|
70
74
|
// -------------------------------------------------------------------
|
|
71
75
|
|
|
72
|
-
interface TypeBoxProvider extends FastifyTypeProvider {
|
|
76
|
+
interface TypeBoxProvider extends FastifyTypeProvider {
|
|
77
|
+
validator: this['schema'] extends TSchema ? Static<this['schema']> : unknown
|
|
78
|
+
serializer: this['schema'] extends TSchema ? Static<this['schema']> : unknown
|
|
79
|
+
}
|
|
73
80
|
|
|
74
81
|
expectAssignable(server.withTypeProvider<TypeBoxProvider>().get(
|
|
75
82
|
'/',
|
|
@@ -103,7 +110,10 @@ expectAssignable<FastifyInstance>(server.withTypeProvider<TypeBoxProvider>())
|
|
|
103
110
|
// JsonSchemaToTs
|
|
104
111
|
// -------------------------------------------------------------------
|
|
105
112
|
|
|
106
|
-
interface JsonSchemaToTsProvider extends FastifyTypeProvider {
|
|
113
|
+
interface JsonSchemaToTsProvider extends FastifyTypeProvider {
|
|
114
|
+
validator: this['schema'] extends JSONSchema ? FromSchema<this['schema']> : unknown
|
|
115
|
+
serializer: this['schema'] extends JSONSchema ? FromSchema<this['schema']> : unknown
|
|
116
|
+
}
|
|
107
117
|
|
|
108
118
|
// explicitly setting schema `as const`
|
|
109
119
|
|
|
@@ -907,7 +917,7 @@ expectError(server.withTypeProvider<JsonSchemaToTsProvider>().get(
|
|
|
907
917
|
// Reply Type Override
|
|
908
918
|
// -------------------------------------------------------------------
|
|
909
919
|
|
|
910
|
-
expectAssignable(server.withTypeProvider<JsonSchemaToTsProvider>().get<{Reply: boolean}>(
|
|
920
|
+
expectAssignable(server.withTypeProvider<JsonSchemaToTsProvider>().get<{ Reply: boolean }>(
|
|
911
921
|
'/',
|
|
912
922
|
{
|
|
913
923
|
schema: {
|
|
@@ -927,7 +937,7 @@ expectAssignable(server.withTypeProvider<JsonSchemaToTsProvider>().get<{Reply: b
|
|
|
927
937
|
// Reply Type Override (Different Content-types)
|
|
928
938
|
// -------------------------------------------------------------------
|
|
929
939
|
|
|
930
|
-
expectAssignable(server.withTypeProvider<JsonSchemaToTsProvider>().get<{Reply: boolean}>(
|
|
940
|
+
expectAssignable(server.withTypeProvider<JsonSchemaToTsProvider>().get<{ Reply: boolean }>(
|
|
931
941
|
'/',
|
|
932
942
|
{
|
|
933
943
|
schema: {
|
|
@@ -955,7 +965,7 @@ expectAssignable(server.withTypeProvider<JsonSchemaToTsProvider>().get<{Reply: b
|
|
|
955
965
|
// Reply Type Return Override
|
|
956
966
|
// -------------------------------------------------------------------
|
|
957
967
|
|
|
958
|
-
expectAssignable(server.withTypeProvider<JsonSchemaToTsProvider>().get<{Reply: boolean}>(
|
|
968
|
+
expectAssignable(server.withTypeProvider<JsonSchemaToTsProvider>().get<{ Reply: boolean }>(
|
|
959
969
|
'/',
|
|
960
970
|
{
|
|
961
971
|
schema: {
|
|
@@ -975,7 +985,7 @@ expectAssignable(server.withTypeProvider<JsonSchemaToTsProvider>().get<{Reply: b
|
|
|
975
985
|
// Reply Type Return Override (Different Content-types)
|
|
976
986
|
// -------------------------------------------------------------------
|
|
977
987
|
|
|
978
|
-
expectAssignable(server.withTypeProvider<JsonSchemaToTsProvider>().get<{Reply: boolean}>(
|
|
988
|
+
expectAssignable(server.withTypeProvider<JsonSchemaToTsProvider>().get<{ Reply: boolean }>(
|
|
979
989
|
'/',
|
|
980
990
|
{
|
|
981
991
|
schema: {
|
|
@@ -1003,7 +1013,7 @@ expectAssignable(server.withTypeProvider<JsonSchemaToTsProvider>().get<{Reply: b
|
|
|
1003
1013
|
// FastifyPlugin: Auxiliary
|
|
1004
1014
|
// -------------------------------------------------------------------
|
|
1005
1015
|
|
|
1006
|
-
interface AuxiliaryPluginProvider extends FastifyTypeProvider {
|
|
1016
|
+
interface AuxiliaryPluginProvider extends FastifyTypeProvider { validator: 'plugin-auxiliary' }
|
|
1007
1017
|
|
|
1008
1018
|
// Auxiliary plugins may have varying server types per application. Recommendation would be to explicitly remap instance provider context within plugin if required.
|
|
1009
1019
|
function plugin<T extends FastifyInstance> (instance: T) {
|
|
@@ -1032,7 +1042,7 @@ expectAssignable(server.withTypeProvider<AuxiliaryPluginProvider>().register(plu
|
|
|
1032
1042
|
// Handlers: Inline
|
|
1033
1043
|
// -------------------------------------------------------------------
|
|
1034
1044
|
|
|
1035
|
-
interface InlineHandlerProvider extends FastifyTypeProvider {
|
|
1045
|
+
interface InlineHandlerProvider extends FastifyTypeProvider { validator: 'handler-inline' }
|
|
1036
1046
|
|
|
1037
1047
|
// Inline handlers should infer for the request parameters (non-shared)
|
|
1038
1048
|
expectAssignable(server.withTypeProvider<InlineHandlerProvider>().get(
|
|
@@ -1052,7 +1062,7 @@ expectAssignable(server.withTypeProvider<InlineHandlerProvider>().get(
|
|
|
1052
1062
|
// Handlers: Auxiliary
|
|
1053
1063
|
// -------------------------------------------------------------------
|
|
1054
1064
|
|
|
1055
|
-
interface AuxiliaryHandlerProvider extends FastifyTypeProvider {
|
|
1065
|
+
interface AuxiliaryHandlerProvider extends FastifyTypeProvider { validator: 'handler-auxiliary' }
|
|
1056
1066
|
|
|
1057
1067
|
// Auxiliary handlers are likely shared for multiple routes and thus should infer as unknown due to potential varying parameters
|
|
1058
1068
|
function auxiliaryHandler (request: FastifyRequest, reply: FastifyReply, done: HookHandlerDoneFunction): void {
|
|
@@ -1069,3 +1079,40 @@ expectAssignable(server.withTypeProvider<AuxiliaryHandlerProvider>().get(
|
|
|
1069
1079
|
expectType<'handler-auxiliary'>(req.body)
|
|
1070
1080
|
}
|
|
1071
1081
|
))
|
|
1082
|
+
|
|
1083
|
+
// -------------------------------------------------------------------
|
|
1084
|
+
// SafePromiseLike
|
|
1085
|
+
// -------------------------------------------------------------------
|
|
1086
|
+
const safePromiseLike = {
|
|
1087
|
+
then: new Promise<string>(resolve => resolve('')).then,
|
|
1088
|
+
__linterBrands: 'SafePromiseLike' as const
|
|
1089
|
+
}
|
|
1090
|
+
expectAssignable<SafePromiseLike<string>>(safePromiseLike)
|
|
1091
|
+
expectAssignable<PromiseLike<string>>(safePromiseLike)
|
|
1092
|
+
expectError<Promise<string>>(safePromiseLike)
|
|
1093
|
+
|
|
1094
|
+
// -------------------------------------------------------------------
|
|
1095
|
+
// Separate Providers
|
|
1096
|
+
// -------------------------------------------------------------------
|
|
1097
|
+
|
|
1098
|
+
interface SeparateProvider extends FastifyTypeProvider {
|
|
1099
|
+
validator: string
|
|
1100
|
+
serializer: Date
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1103
|
+
expectAssignable(server.withTypeProvider<SeparateProvider>().get(
|
|
1104
|
+
'/',
|
|
1105
|
+
{
|
|
1106
|
+
schema: {
|
|
1107
|
+
body: null,
|
|
1108
|
+
response: {
|
|
1109
|
+
200: { type: 'string' }
|
|
1110
|
+
}
|
|
1111
|
+
}
|
|
1112
|
+
},
|
|
1113
|
+
(req, res) => {
|
|
1114
|
+
expectType<string>(req.body)
|
|
1115
|
+
|
|
1116
|
+
res.send(new Date())
|
|
1117
|
+
}
|
|
1118
|
+
))
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { expectAssignable
|
|
1
|
+
import { expectAssignable } from 'tsd'
|
|
2
2
|
import fastify, { FastifyInstance } from '../../fastify'
|
|
3
3
|
|
|
4
4
|
async function hasSymbolDisposeWithUsing () {
|
|
@@ -12,3 +12,6 @@ async function hasSymbolDispose () {
|
|
|
12
12
|
expectAssignable<FastifyInstance>(app)
|
|
13
13
|
expectAssignable<FastifyInstance[typeof Symbol.asyncDispose]>(app.close)
|
|
14
14
|
}
|
|
15
|
+
|
|
16
|
+
hasSymbolDisposeWithUsing()
|
|
17
|
+
hasSymbolDispose()
|
|
@@ -119,8 +119,8 @@ test('Should rewrite url but keep originalUrl unchanged', t => {
|
|
|
119
119
|
method: 'GET',
|
|
120
120
|
url: '/',
|
|
121
121
|
handler: (req, reply) => {
|
|
122
|
+
reply.send({ hello: 'world', hostname: req.hostname, port: req.port })
|
|
122
123
|
t.equal(req.originalUrl, '/this-would-404-without-url-rewrite')
|
|
123
|
-
reply.send({ hello: 'world' })
|
|
124
124
|
}
|
|
125
125
|
})
|
|
126
126
|
|
|
@@ -132,7 +132,8 @@ test('Should rewrite url but keep originalUrl unchanged', t => {
|
|
|
132
132
|
url: 'http://localhost:' + fastify.server.address().port + '/this-would-404-without-url-rewrite'
|
|
133
133
|
}, (err, response, body) => {
|
|
134
134
|
t.error(err)
|
|
135
|
-
|
|
135
|
+
const parsedBody = JSON.parse(body)
|
|
136
|
+
t.same(parsedBody, { hello: 'world', hostname: 'localhost', port: fastify.server.address().port })
|
|
136
137
|
t.equal(response.statusCode, 200)
|
|
137
138
|
})
|
|
138
139
|
})
|
|
@@ -5,30 +5,27 @@ const test = t.test
|
|
|
5
5
|
const Fastify = require('..')
|
|
6
6
|
const sget = require('simple-get').concat
|
|
7
7
|
|
|
8
|
-
test('use semicolon delimiter default
|
|
8
|
+
test('use semicolon delimiter default false', t => {
|
|
9
9
|
t.plan(4)
|
|
10
10
|
|
|
11
11
|
const fastify = Fastify({})
|
|
12
12
|
|
|
13
13
|
t.teardown(fastify.close.bind(fastify))
|
|
14
14
|
|
|
15
|
-
fastify.get('/1234', (req, reply) => {
|
|
15
|
+
fastify.get('/1234;foo=bar', (req, reply) => {
|
|
16
16
|
reply.send(req.query)
|
|
17
17
|
})
|
|
18
18
|
|
|
19
19
|
fastify.listen({ port: 0 }, err => {
|
|
20
20
|
t.error(err)
|
|
21
21
|
|
|
22
|
-
console.log('http://localhost:' + fastify.server.address().port + '/1234;foo=bar')
|
|
23
22
|
sget({
|
|
24
23
|
method: 'GET',
|
|
25
24
|
url: 'http://localhost:' + fastify.server.address().port + '/1234;foo=bar'
|
|
26
25
|
}, (err, response, body) => {
|
|
27
26
|
t.error(err)
|
|
28
27
|
t.equal(response.statusCode, 200)
|
|
29
|
-
t.same(JSON.parse(body), {
|
|
30
|
-
foo: 'bar'
|
|
31
|
-
})
|
|
28
|
+
t.same(JSON.parse(body), {})
|
|
32
29
|
})
|
|
33
30
|
})
|
|
34
31
|
})
|
|
@@ -454,7 +454,7 @@ test('test log stream', t => {
|
|
|
454
454
|
t.teardown(() => { fastify.close() })
|
|
455
455
|
|
|
456
456
|
http.get({
|
|
457
|
-
|
|
457
|
+
host: fastify.server.address().hostname,
|
|
458
458
|
port: fastify.server.address().port,
|
|
459
459
|
path: '/',
|
|
460
460
|
method: 'GET',
|
package/test/web-api.test.js
CHANGED
|
@@ -4,15 +4,9 @@ const t = require('tap')
|
|
|
4
4
|
const test = t.test
|
|
5
5
|
const Fastify = require('../fastify')
|
|
6
6
|
const fs = require('node:fs')
|
|
7
|
-
const semver = require('semver')
|
|
8
7
|
const { Readable } = require('node:stream')
|
|
9
8
|
const { fetch: undiciFetch } = require('undici')
|
|
10
9
|
|
|
11
|
-
if (semver.lt(process.versions.node, '18.0.0')) {
|
|
12
|
-
t.skip('Response or ReadableStream not available, skipping test')
|
|
13
|
-
process.exit(0)
|
|
14
|
-
}
|
|
15
|
-
|
|
16
10
|
test('should response with a ReadableStream', async (t) => {
|
|
17
11
|
t.plan(2)
|
|
18
12
|
|
|
@@ -15,7 +15,7 @@ export type FastifyBodyParser<
|
|
|
15
15
|
RawRequest extends RawRequestDefaultExpression<RawServer> = RawRequestDefaultExpression<RawServer>,
|
|
16
16
|
RouteGeneric extends RouteGenericInterface = RouteGenericInterface,
|
|
17
17
|
SchemaCompiler extends FastifySchema = FastifySchema,
|
|
18
|
-
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
18
|
+
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
19
19
|
> = ((request: FastifyRequest<RouteGeneric, RawServer, RawRequest, SchemaCompiler, TypeProvider>, rawBody: RawBody, done: ContentTypeParserDoneFunction) => void)
|
|
20
20
|
| ((request: FastifyRequest<RouteGeneric, RawServer, RawRequest, SchemaCompiler, TypeProvider>, rawBody: RawBody) => Promise<any>)
|
|
21
21
|
|
|
@@ -27,7 +27,7 @@ export type FastifyContentTypeParser<
|
|
|
27
27
|
RawRequest extends RawRequestDefaultExpression<RawServer> = RawRequestDefaultExpression<RawServer>,
|
|
28
28
|
RouteGeneric extends RouteGenericInterface = RouteGenericInterface,
|
|
29
29
|
SchemaCompiler extends FastifySchema = FastifySchema,
|
|
30
|
-
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
30
|
+
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
31
31
|
> = ((request: FastifyRequest<RouteGeneric, RawServer, RawRequest, SchemaCompiler, TypeProvider>, payload: RawRequest) => Promise<any>)
|
|
32
32
|
| ((request: FastifyRequest<RouteGeneric, RawServer, RawRequest, SchemaCompiler, TypeProvider>, payload: RawRequest, done: ContentTypeParserDoneFunction) => void)
|
|
33
33
|
|
|
@@ -39,7 +39,7 @@ export interface AddContentTypeParser<
|
|
|
39
39
|
RawRequest extends RawRequestDefaultExpression<RawServer> = RawRequestDefaultExpression<RawServer>,
|
|
40
40
|
RouteGeneric extends RouteGenericInterface = RouteGenericInterface,
|
|
41
41
|
SchemaCompiler extends FastifySchema = FastifySchema,
|
|
42
|
-
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
42
|
+
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
43
43
|
> {
|
|
44
44
|
(
|
|
45
45
|
contentType: string | string[] | RegExp,
|
package/types/context.d.ts
CHANGED
package/types/errors.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export type FastifyErrorCodes = Record<
|
|
|
24
24
|
'FST_ERR_DEC_DEPENDENCY_INVALID_TYPE' |
|
|
25
25
|
'FST_ERR_DEC_MISSING_DEPENDENCY' |
|
|
26
26
|
'FST_ERR_DEC_AFTER_START' |
|
|
27
|
+
'FST_ERR_DEC_REFERENCE_TYPE' |
|
|
27
28
|
'FST_ERR_HOOK_INVALID_TYPE' |
|
|
28
29
|
'FST_ERR_HOOK_INVALID_HANDLER' |
|
|
29
30
|
'FST_ERR_HOOK_INVALID_ASYNC_HANDLER' |
|
package/types/hooks.d.ts
CHANGED
|
@@ -724,7 +724,7 @@ export interface onReadyHookHandler<
|
|
|
724
724
|
RawRequest extends RawRequestDefaultExpression<RawServer> = RawRequestDefaultExpression<RawServer>,
|
|
725
725
|
RawReply extends RawReplyDefaultExpression<RawServer> = RawReplyDefaultExpression<RawServer>,
|
|
726
726
|
Logger extends FastifyBaseLogger = FastifyBaseLogger,
|
|
727
|
-
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
727
|
+
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
728
728
|
> {
|
|
729
729
|
(
|
|
730
730
|
this: FastifyInstance<RawServer, RawRequest, RawReply, Logger, TypeProvider>,
|
|
@@ -737,7 +737,7 @@ export interface onReadyAsyncHookHandler<
|
|
|
737
737
|
RawRequest extends RawRequestDefaultExpression<RawServer> = RawRequestDefaultExpression<RawServer>,
|
|
738
738
|
RawReply extends RawReplyDefaultExpression<RawServer> = RawReplyDefaultExpression<RawServer>,
|
|
739
739
|
Logger extends FastifyBaseLogger = FastifyBaseLogger,
|
|
740
|
-
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
740
|
+
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
741
741
|
> {
|
|
742
742
|
(
|
|
743
743
|
this: FastifyInstance<RawServer, RawRequest, RawReply, Logger, TypeProvider>,
|
|
@@ -752,7 +752,7 @@ export interface onListenHookHandler<
|
|
|
752
752
|
RawRequest extends RawRequestDefaultExpression<RawServer> = RawRequestDefaultExpression<RawServer>,
|
|
753
753
|
RawReply extends RawReplyDefaultExpression<RawServer> = RawReplyDefaultExpression<RawServer>,
|
|
754
754
|
Logger extends FastifyBaseLogger = FastifyBaseLogger,
|
|
755
|
-
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
755
|
+
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
756
756
|
> {
|
|
757
757
|
(
|
|
758
758
|
this: FastifyInstance<RawServer, RawRequest, RawReply, Logger, TypeProvider>,
|
|
@@ -765,7 +765,7 @@ export interface onListenAsyncHookHandler<
|
|
|
765
765
|
RawRequest extends RawRequestDefaultExpression<RawServer> = RawRequestDefaultExpression<RawServer>,
|
|
766
766
|
RawReply extends RawReplyDefaultExpression<RawServer> = RawReplyDefaultExpression<RawServer>,
|
|
767
767
|
Logger extends FastifyBaseLogger = FastifyBaseLogger,
|
|
768
|
-
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
768
|
+
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
769
769
|
> {
|
|
770
770
|
(
|
|
771
771
|
this: FastifyInstance<RawServer, RawRequest, RawReply, Logger, TypeProvider>,
|
|
@@ -779,7 +779,7 @@ export interface onCloseHookHandler<
|
|
|
779
779
|
RawRequest extends RawRequestDefaultExpression<RawServer> = RawRequestDefaultExpression<RawServer>,
|
|
780
780
|
RawReply extends RawReplyDefaultExpression<RawServer> = RawReplyDefaultExpression<RawServer>,
|
|
781
781
|
Logger extends FastifyBaseLogger = FastifyBaseLogger,
|
|
782
|
-
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
782
|
+
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
783
783
|
> {
|
|
784
784
|
(
|
|
785
785
|
instance: FastifyInstance<RawServer, RawRequest, RawReply, Logger, TypeProvider>,
|
|
@@ -807,7 +807,7 @@ export interface preCloseHookHandler<
|
|
|
807
807
|
RawRequest extends RawRequestDefaultExpression<RawServer> = RawRequestDefaultExpression<RawServer>,
|
|
808
808
|
RawReply extends RawReplyDefaultExpression<RawServer> = RawReplyDefaultExpression<RawServer>,
|
|
809
809
|
Logger extends FastifyBaseLogger = FastifyBaseLogger,
|
|
810
|
-
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
810
|
+
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
811
811
|
> {
|
|
812
812
|
(
|
|
813
813
|
this: FastifyInstance<RawServer, RawRequest, RawReply, Logger, TypeProvider>,
|