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.
Files changed (514) hide show
  1. package/.idea/fastify.iml +12 -0
  2. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  3. package/.idea/jsLibraryMappings.xml +6 -0
  4. package/.idea/jsLinters/eslint.xml +6 -0
  5. package/.idea/modules.xml +8 -0
  6. package/.idea/vcs.xml +6 -0
  7. package/.markdownlint-cli2.yaml +1 -1
  8. package/.taprc +4 -8
  9. package/README.md +3 -6
  10. package/build/build-error-serializer.js +4 -1
  11. package/build/build-validation.js +5 -4
  12. package/docs/Guides/Database.md +1 -1
  13. package/docs/Guides/Delay-Accepting-Requests.md +3 -3
  14. package/docs/Guides/Ecosystem.md +2 -0
  15. package/docs/Guides/Migration-Guide-V5.md +20 -0
  16. package/docs/Guides/Write-Type-Provider.md +4 -2
  17. package/docs/Reference/ContentTypeParser.md +30 -1
  18. package/docs/Reference/Decorators.md +42 -16
  19. package/docs/Reference/Errors.md +10 -2
  20. package/docs/Reference/Hooks.md +48 -14
  21. package/docs/Reference/Logging.md +5 -5
  22. package/docs/Reference/Reply.md +23 -18
  23. package/docs/Reference/Request.md +5 -1
  24. package/docs/Reference/Routes.md +24 -28
  25. package/docs/Reference/Server.md +14 -53
  26. package/docs/Reference/Type-Providers.md +21 -26
  27. package/docs/Reference/TypeScript.md +46 -29
  28. package/docs/Reference/Warnings.md +0 -8
  29. package/eslint.config.js +27 -0
  30. package/examples/typescript-server.ts +14 -14
  31. package/fastify.d.ts +15 -14
  32. package/fastify.js +41 -15
  33. package/lib/configValidator.js +94 -76
  34. package/lib/contentTypeParser.js +54 -88
  35. package/lib/decorate.js +3 -7
  36. package/lib/error-serializer.js +2 -1
  37. package/lib/errors.js +31 -6
  38. package/lib/handleRequest.js +70 -39
  39. package/lib/httpMethods.js +34 -18
  40. package/lib/logger.js +24 -6
  41. package/lib/pluginUtils.js +5 -5
  42. package/lib/reply.js +7 -10
  43. package/lib/request.js +37 -19
  44. package/lib/route.js +6 -34
  45. package/lib/server.js +62 -123
  46. package/lib/warnings.js +24 -29
  47. package/lib/wrapThenable.js +46 -22
  48. package/package.json +38 -58
  49. package/test/404s.test.js +8 -12
  50. package/test/async-await.test.js +46 -2
  51. package/test/build/error-serializer.test.js +4 -2
  52. package/test/check.test.js +225 -0
  53. package/test/close-pipelining.test.js +2 -41
  54. package/test/close.test.js +1 -41
  55. package/test/content-parser.test.js +69 -117
  56. package/test/custom-parser.1.test.js +40 -1
  57. package/test/decorator-namespace.test._js_ +31 -0
  58. package/test/decorator.test.js +92 -43
  59. package/test/delete.test.js +21 -1
  60. package/test/diagnostics-channel/404.test.js +57 -0
  61. package/test/diagnostics-channel/async-delay-request.test.js +74 -0
  62. package/test/diagnostics-channel/async-request.test.js +72 -0
  63. package/test/diagnostics-channel/error-before-handler.test.js +36 -0
  64. package/test/diagnostics-channel/error-request.test.js +61 -0
  65. package/test/diagnostics-channel/error-status.test.js +39 -0
  66. package/test/{diagnostics-channel.test.js → diagnostics-channel/init.test.js} +6 -16
  67. package/test/diagnostics-channel/sync-delay-request.test.js +58 -0
  68. package/test/diagnostics-channel/sync-request-reply.test.js +58 -0
  69. package/test/diagnostics-channel/sync-request.test.js +61 -0
  70. package/test/encapsulated-error-handler.test.js +201 -14
  71. package/test/esm/index.test.js +2 -12
  72. package/test/findRoute.test.js +16 -0
  73. package/test/genReqId.test.js +9 -0
  74. package/test/get.test.js +28 -0
  75. package/test/has-route.test.js +1 -1
  76. package/test/helper.js +1 -5
  77. package/test/hooks.test.js +0 -4
  78. package/test/http2/constraint.test.js +22 -1
  79. package/test/http2/plain.test.js +21 -6
  80. package/test/http2/secure.test.js +12 -1
  81. package/test/https/https.test.js +57 -0
  82. package/test/inject.test.js +1 -2
  83. package/test/internals/decorator.test.js +0 -2
  84. package/test/internals/errors.test.js +57 -17
  85. package/test/internals/handleRequest.test.js +5 -1
  86. package/test/internals/initialConfig.test.js +5 -5
  87. package/test/internals/logger.test.js +31 -2
  88. package/test/internals/reply.test.js +6 -78
  89. package/test/internals/request.test.js +13 -11
  90. package/test/listen.1.test.js +5 -15
  91. package/test/listen.5.test.js +99 -0
  92. package/test/logger/instantiation.test.js +8 -8
  93. package/test/logger/logging.test.js +4 -4
  94. package/test/logger/options.test.js +102 -21
  95. package/test/logger/response.test.js +6 -6
  96. package/test/maxRequestsPerSocket.test.js +2 -5
  97. package/test/method-missing.test.js +24 -0
  98. package/test/plugin.1.test.js +2 -4
  99. package/test/plugin.2.test.js +0 -2
  100. package/test/plugin.3.test.js +0 -2
  101. package/test/plugin.4.test.js +92 -56
  102. package/test/register.test.js +2 -4
  103. package/test/reply-earlyHints.test.js +98 -0
  104. package/test/reply-error.test.js +0 -2
  105. package/test/route-hooks.test.js +0 -1
  106. package/test/route-shorthand.test.js +60 -0
  107. package/test/schema-special-usage.test.js +1 -1
  108. package/test/server.test.js +17 -2
  109. package/test/stream.2.test.js +1 -1
  110. package/test/stream.4.test.js +0 -42
  111. package/test/stream.5.test.js +2 -2
  112. package/test/trust-proxy.test.js +33 -27
  113. package/test/types/errors.test-d.ts +0 -2
  114. package/test/types/fastify.test-d.ts +14 -12
  115. package/test/types/hooks.test-d.ts +1 -0
  116. package/test/types/import.ts +1 -0
  117. package/test/types/instance.test-d.ts +10 -51
  118. package/test/types/logger.test-d.ts +43 -6
  119. package/test/types/plugin.test-d.ts +5 -2
  120. package/test/types/register.test-d.ts +2 -2
  121. package/test/types/reply.test-d.ts +13 -12
  122. package/test/types/request.test-d.ts +19 -8
  123. package/test/types/route.test-d.ts +30 -2
  124. package/test/types/schema.test-d.ts +2 -2
  125. package/test/types/serverFactory.test-d.ts +1 -1
  126. package/test/types/type-provider.test-d.ts +59 -12
  127. package/test/types/using.test-d.ts +4 -1
  128. package/test/url-rewriting.test.js +3 -2
  129. package/test/useSemicolonDelimiter.test.js +3 -6
  130. package/test/versioned-routes.test.js +1 -1
  131. package/test/web-api.test.js +0 -6
  132. package/types/content-type-parser.d.ts +3 -3
  133. package/types/context.d.ts +0 -1
  134. package/types/errors.d.ts +1 -0
  135. package/types/hooks.d.ts +6 -6
  136. package/types/instance.d.ts +28 -41
  137. package/types/logger.d.ts +3 -3
  138. package/types/plugin.d.ts +3 -3
  139. package/types/reply.d.ts +9 -12
  140. package/types/request.d.ts +5 -3
  141. package/types/route.d.ts +31 -31
  142. package/types/schema.d.ts +3 -3
  143. package/types/serverFactory.d.ts +2 -2
  144. package/types/type-provider.d.ts +22 -12
  145. package/types/utils.d.ts +18 -23
  146. package/.c8rc.json +0 -8
  147. package/.eslintrc +0 -4
  148. package/.tap/processinfo/029eb7a1-1942-40bc-98e2-cef3b7a14b5e.json +0 -268
  149. package/.tap/processinfo/03c196c6-01c3-4268-a9b5-298dff18a873.json +0 -269
  150. package/.tap/processinfo/04bbabba-8611-4908-9092-dfa9fcc13327.json +0 -268
  151. package/.tap/processinfo/05d8a743-3edf-4e2d-ae5a-dc99d0855ba5.json +0 -272
  152. package/.tap/processinfo/07718963-36a8-4d87-82ad-366c877a5247.json +0 -268
  153. package/.tap/processinfo/08fe3bde-5814-4308-9158-cdf1e47391b7.json +0 -268
  154. package/.tap/processinfo/0a3e3fb0-eabf-4532-ae80-20434da22678.json +0 -268
  155. package/.tap/processinfo/0caf2a75-4b3a-46c4-9b41-c7e450e5e15f.json +0 -268
  156. package/.tap/processinfo/0cf35d52-e5b2-4884-bcf0-b0ab3017b689.json +0 -268
  157. package/.tap/processinfo/0e666134-5013-4ecd-9ee6-59b22716c39c.json +0 -268
  158. package/.tap/processinfo/1087b811-4ec4-4f91-92b4-a78a51a437de.json +0 -268
  159. package/.tap/processinfo/13709ed3-b68c-42cf-8472-b0c4b8a89d2b.json +0 -268
  160. package/.tap/processinfo/13ac2f18-d0e0-439f-bc86-2ff0119af857.json +0 -268
  161. package/.tap/processinfo/13e47e0e-f6e8-4381-8a42-923b661f4a4f.json +0 -268
  162. package/.tap/processinfo/143f7d43-b8e8-4666-b482-f28fb37160ee.json +0 -268
  163. package/.tap/processinfo/14f3801d-03ab-4db3-9df5-c5d47e0a8cf0.json +0 -270
  164. package/.tap/processinfo/15a07dad-4bcd-442c-95e0-30c31f2b9818.json +0 -273
  165. package/.tap/processinfo/191ad3ad-04d8-4fb9-b119-ad2811f9b925.json +0 -243
  166. package/.tap/processinfo/1b25d54b-62d3-44cd-b581-31e705522fae.json +0 -268
  167. package/.tap/processinfo/1b7cb260-f04b-4135-a4fe-093081c4706f.json +0 -268
  168. package/.tap/processinfo/1e395d63-4815-4c77-aa47-df3709cc0ef9.json +0 -268
  169. package/.tap/processinfo/1e7f6a54-3abf-4771-863a-585cba110aec.json +0 -268
  170. package/.tap/processinfo/21a15e1d-0b41-47d8-b03d-0ba130969034.json +0 -244
  171. package/.tap/processinfo/21e02016-9ecd-4983-8417-9c74d224644f.json +0 -269
  172. package/.tap/processinfo/2327d941-d0d5-4762-b386-02a9a27ad28e.json +0 -268
  173. package/.tap/processinfo/23d39204-eac9-4f57-8db4-ffa996227fbd.json +0 -268
  174. package/.tap/processinfo/2493875a-0ac6-4d53-993c-f44471fd0678.json +0 -268
  175. package/.tap/processinfo/2698669f-f1e7-4a12-a687-8d58177be2b0.json +0 -269
  176. package/.tap/processinfo/2862b053-0a3d-46d7-9381-ffcb06287609.json +0 -268
  177. package/.tap/processinfo/2ac1b8d6-ac92-40e2-a59a-7681069f487c.json +0 -268
  178. package/.tap/processinfo/2c75e5f7-c4ef-47e4-a1c4-105eef6c0fab.json +0 -242
  179. package/.tap/processinfo/2e2c45cd-718b-4e5a-bf88-f801630f2803.json +0 -268
  180. package/.tap/processinfo/2f9ca478-3e03-4cce-a0bc-fcdc86d7c316.json +0 -268
  181. package/.tap/processinfo/30e3117f-fb74-456f-8f02-527e9eb9fcc3.json +0 -268
  182. package/.tap/processinfo/332be679-63c7-4b49-8b87-ef55995ada2d.json +0 -268
  183. package/.tap/processinfo/37c36f95-07f9-4ef0-8ab4-9e107d51b605.json +0 -269
  184. package/.tap/processinfo/3874eae2-f3db-44ef-9a9f-c8169d4b2b76.json +0 -268
  185. package/.tap/processinfo/38a7c3da-a411-41d0-8993-9deefd23500d.json +0 -268
  186. package/.tap/processinfo/3a7b6dbd-e153-4ce5-b557-21fb82009983.json +0 -269
  187. package/.tap/processinfo/3c6731ec-936d-470f-b7b0-0c87b54be051.json +0 -268
  188. package/.tap/processinfo/3c850ea9-4ef0-4044-a3fd-fbadfa9d543e.json +0 -268
  189. package/.tap/processinfo/3e4e15e0-a325-46f0-be57-5fd374560b7a.json +0 -269
  190. package/.tap/processinfo/3ed868e0-887c-402a-9f22-b1fdb74b4da0.json +0 -268
  191. package/.tap/processinfo/405498d7-5854-4ce1-a7dc-06920932f26d.json +0 -268
  192. package/.tap/processinfo/40b7eb19-ae35-4490-8a11-eb91a573c590.json +0 -268
  193. package/.tap/processinfo/40bb1260-d856-4248-8939-a0a05e322041.json +0 -268
  194. package/.tap/processinfo/41252e0b-7f69-44cc-b356-dd94bcbfdb29.json +0 -268
  195. package/.tap/processinfo/418fa710-e2fd-4508-b533-c179958da464.json +0 -269
  196. package/.tap/processinfo/433ef009-63aa-48fe-8e5d-c725228fa2fc.json +0 -268
  197. package/.tap/processinfo/44bf577c-9c01-4197-bd29-2e1ae888c4d4.json +0 -268
  198. package/.tap/processinfo/458fb7f2-20b9-48a2-8853-403c9851f605.json +0 -268
  199. package/.tap/processinfo/46b9892b-bb23-4b86-b0fa-9297f08c611a.json +0 -268
  200. package/.tap/processinfo/46bd9aaf-6cf3-4bd5-b90d-e136a7299a8e.json +0 -268
  201. package/.tap/processinfo/4779aa5f-e57a-4fcc-87e2-7d0bd4fca27f.json +0 -268
  202. package/.tap/processinfo/47b73f4b-ab31-49e1-97fd-8436dbe4bdf3.json +0 -269
  203. package/.tap/processinfo/49dba52e-e0c9-445d-8e9d-6d9ebe3ce6c4.json +0 -268
  204. package/.tap/processinfo/4b1dbc61-4e65-4c56-9784-2036f369038a.json +0 -268
  205. package/.tap/processinfo/4b6f0b40-43ef-4668-83a0-e07e28509df5.json +0 -268
  206. package/.tap/processinfo/4c236f70-f532-460b-8f7a-dd973301d493.json +0 -268
  207. package/.tap/processinfo/4d92b707-a268-48b8-885b-004d3a288c41.json +0 -269
  208. package/.tap/processinfo/4ff10bae-7c97-4c0a-b712-6c0d2f8c0e8e.json +0 -270
  209. package/.tap/processinfo/50f95bd5-ae12-4d83-99f4-ae9b0690c6a8.json +0 -268
  210. package/.tap/processinfo/557e4a49-d99c-4a63-b2f2-f33d897ab874.json +0 -268
  211. package/.tap/processinfo/589fd21a-8319-4abf-8cf7-82cb4a463a4b.json +0 -269
  212. package/.tap/processinfo/5a872f3a-949f-40be-8004-d739d034255c.json +0 -272
  213. package/.tap/processinfo/5abc301a-23da-424d-891e-3afbaff9156c.json +0 -269
  214. package/.tap/processinfo/5c31614c-a766-4837-ab59-dd6977166f72.json +0 -253
  215. package/.tap/processinfo/5d1e90c8-d819-4901-b022-f9ea4cd81978.json +0 -268
  216. package/.tap/processinfo/5d283e67-f31d-4fa8-a559-a1d8e82ee046.json +0 -269
  217. package/.tap/processinfo/5df505bc-6a4b-4c41-822f-51e2d7111de8.json +0 -268
  218. package/.tap/processinfo/5eaf64a2-fbfd-40e7-b391-c30f744b2bf1.json +0 -269
  219. package/.tap/processinfo/5ef5ede0-6436-4938-8401-d32ad4bffd5d.json +0 -268
  220. package/.tap/processinfo/606f05c0-8293-41db-bc92-eea82123697f.json +0 -269
  221. package/.tap/processinfo/6446806d-6cab-4c1d-a9ed-6bccaf3c4ea9.json +0 -268
  222. package/.tap/processinfo/64da7e08-925d-444d-98de-6568c6115d8d.json +0 -269
  223. package/.tap/processinfo/6917da6d-d2dc-466a-a893-7fb7412dde96.json +0 -268
  224. package/.tap/processinfo/69bbeee0-c398-4ccf-98b3-fb625a63bab4.json +0 -268
  225. package/.tap/processinfo/6da6ea8f-3370-4703-b230-90159531f766.json +0 -268
  226. package/.tap/processinfo/6ecffe1f-3016-4c11-9294-b488baced99f.json +0 -268
  227. package/.tap/processinfo/6f23f41f-ccbd-48cb-9ab6-311db0cfb65c.json +0 -270
  228. package/.tap/processinfo/70168912-9bb2-4334-bb89-041f1764cddf.json +0 -268
  229. package/.tap/processinfo/713a674e-40e1-46b4-866e-949d57c1a9f9.json +0 -270
  230. package/.tap/processinfo/730254d4-eacb-4cdf-80f4-8da22341cde5.json +0 -268
  231. package/.tap/processinfo/7344e559-c546-416f-8f1b-0f9fe12c6f02.json +0 -268
  232. package/.tap/processinfo/7556217a-0155-448f-b4d4-bec1bb0f6040.json +0 -269
  233. package/.tap/processinfo/7572079c-166c-4c4c-85ff-89b9430b214f.json +0 -268
  234. package/.tap/processinfo/7808180f-1974-47cd-bba2-2d6b8b711d65.json +0 -273
  235. package/.tap/processinfo/796dde83-da66-4db2-8d27-d45a3627c9c7.json +0 -268
  236. package/.tap/processinfo/7979819f-3723-48be-9f55-be700e689441.json +0 -270
  237. package/.tap/processinfo/7a664d39-d7f5-42f9-89df-15563048fab6.json +0 -268
  238. package/.tap/processinfo/7b047b72-01d9-4217-857c-93341651b4b3.json +0 -269
  239. package/.tap/processinfo/7ce41af6-7961-45ae-8c6f-b6e1c5692a48.json +0 -268
  240. package/.tap/processinfo/7e1de1c6-127e-463d-9357-081ee33ef5ce.json +0 -269
  241. package/.tap/processinfo/81ac7a7f-b0c0-4ef6-82cb-c718ea84e152.json +0 -268
  242. package/.tap/processinfo/851a058f-a497-4b10-a0b7-c9182d9c4d5a.json +0 -268
  243. package/.tap/processinfo/86502974-c245-4194-ade4-d9c6fdbb757e.json +0 -268
  244. package/.tap/processinfo/86b9786f-4a98-43b8-882a-5f936b876f08.json +0 -241
  245. package/.tap/processinfo/8a3fe726-86ab-4300-8d73-7eacbbc02a05.json +0 -268
  246. package/.tap/processinfo/8adf928b-c963-4ba0-9c35-606fcbd8a2aa.json +0 -272
  247. package/.tap/processinfo/8b31a6d8-1a33-4a27-93ca-1c5b364be068.json +0 -240
  248. package/.tap/processinfo/8ec12773-6b18-49a2-8e52-874c797df965.json +0 -833
  249. package/.tap/processinfo/8edb9502-3420-42fb-a602-e5de93be2df1.json +0 -268
  250. package/.tap/processinfo/8fc572e6-9828-4f98-a49c-9e081b2193c4.json +0 -242
  251. package/.tap/processinfo/8fee2d30-c5dd-4fae-9cf2-2ef8dd0f90de.json +0 -834
  252. package/.tap/processinfo/92cc0496-5f26-4370-8212-18136b972f99.json +0 -268
  253. package/.tap/processinfo/93a3f064-3f6e-4f49-becb-f7925f2961a9.json +0 -268
  254. package/.tap/processinfo/967e3697-8310-4a19-8dd5-927ac8bd6c79.json +0 -269
  255. package/.tap/processinfo/97225e23-9d30-4287-b3f5-72bccebec50b.json +0 -268
  256. package/.tap/processinfo/9a363bc6-4e65-47e8-94ca-26a9db428fb4.json +0 -268
  257. package/.tap/processinfo/9d2fe462-57fa-43f1-b02c-d188f15de30b.json +0 -270
  258. package/.tap/processinfo/a00b6cda-feb7-4b8a-8179-4c43bc29d670.json +0 -269
  259. package/.tap/processinfo/a017cbd5-4ac7-49e1-8c77-1bf4f6e7f2a6.json +0 -271
  260. package/.tap/processinfo/a1277309-1984-48f8-b60b-f5e8639736be.json +0 -271
  261. package/.tap/processinfo/a16bf53e-4337-48ff-88fa-67f55738e0f5.json +0 -268
  262. package/.tap/processinfo/a3a9848f-440e-41bb-9b0b-568bcfee0ddc.json +0 -268
  263. package/.tap/processinfo/a468c11f-f2f1-4e92-9ba0-6d28b6569b72.json +0 -268
  264. package/.tap/processinfo/a5880465-68f1-46b3-84a5-0da389d0bc67.json +0 -268
  265. package/.tap/processinfo/a666f394-39b4-44ad-8e74-abebf74dde3b.json +0 -270
  266. package/.tap/processinfo/af09d8ca-7053-4410-b514-b22c47f5979f.json +0 -268
  267. package/.tap/processinfo/af203309-28aa-459d-a56e-d88833695521.json +0 -268
  268. package/.tap/processinfo/afa2f7b6-dcd2-4d90-bf3c-54ba8b6800eb.json +0 -268
  269. package/.tap/processinfo/b231291d-ef14-4ff0-85f9-38a73a5408f8.json +0 -268
  270. package/.tap/processinfo/b3d3f2a1-a9fc-4d88-b122-fae90248cd59.json +0 -268
  271. package/.tap/processinfo/b834bf83-26c4-403a-8e91-eb15fe4b0b5d.json +0 -268
  272. package/.tap/processinfo/b8786fd7-47df-4ac1-8d6f-2d4c7623c681.json +0 -268
  273. package/.tap/processinfo/b9758f53-7f5a-4b03-8684-8a42ad644e5a.json +0 -268
  274. package/.tap/processinfo/bd194ea2-a21a-4604-b225-ee48abf1e607.json +0 -242
  275. package/.tap/processinfo/bd7ced53-3872-43b7-ad73-3352e50b728b.json +0 -268
  276. package/.tap/processinfo/be50295b-7e50-46cd-8bf1-637bf222699c.json +0 -268
  277. package/.tap/processinfo/bec61dd9-aa52-4e6c-8e37-5c9c10e935fd.json +0 -268
  278. package/.tap/processinfo/c015adf9-1d60-447e-87b5-b2031fe55bba.json +0 -268
  279. package/.tap/processinfo/c0666afa-7f64-45bd-97fb-145df1380157.json +0 -268
  280. package/.tap/processinfo/c2c0c012-c1c0-4457-84d6-dadba8396c94.json +0 -268
  281. package/.tap/processinfo/c3dd3ecd-737b-47ce-a917-54341c7bbed3.json +0 -268
  282. package/.tap/processinfo/c41ac06d-64b8-4bb3-bf56-0551f5a48f4b.json +0 -268
  283. package/.tap/processinfo/c4235bfb-a2aa-4271-9c6b-3ceb370219b1.json +0 -268
  284. package/.tap/processinfo/c4e6f24f-288c-493c-b6f0-02924aeb6758.json +0 -270
  285. package/.tap/processinfo/c54227bb-4a7b-40bb-bfe6-b54fe55078f3.json +0 -268
  286. package/.tap/processinfo/c699de91-3b0b-4466-9418-6910a3eb640a.json +0 -269
  287. package/.tap/processinfo/c74e2f37-451a-4577-ac18-e597fbd9a1d4.json +0 -269
  288. package/.tap/processinfo/c90cccec-5b4b-445f-a935-ac22859675d0.json +0 -252
  289. package/.tap/processinfo/c9dd6c7d-0d16-45e5-87ae-117388bf2994.json +0 -268
  290. package/.tap/processinfo/ca2e48fb-58c5-47fc-ad2e-263838aea42c.json +0 -272
  291. package/.tap/processinfo/ca87351d-c710-45c1-838a-16bccac59874.json +0 -273
  292. package/.tap/processinfo/cdb4a671-5776-4944-91b9-c456c58841ef.json +0 -268
  293. package/.tap/processinfo/cf10fdc8-6a87-447a-9e12-45f447af61f3.json +0 -244
  294. package/.tap/processinfo/cf3f1f08-643e-4f24-82ca-40f7a349c3d1.json +0 -268
  295. package/.tap/processinfo/d091172a-06a5-469b-82a9-8fefe3dd99da.json +0 -240
  296. package/.tap/processinfo/d1675431-61d6-45f8-a010-6e654112a00a.json +0 -272
  297. package/.tap/processinfo/d2d54aa2-c221-4ad4-b6b7-0c58e3c3679c.json +0 -269
  298. package/.tap/processinfo/d4f3c95a-ddbe-419d-bce0-dd6acceee21f.json +0 -268
  299. package/.tap/processinfo/d54ed8f1-43c3-478a-90d3-2c8aced723f2.json +0 -269
  300. package/.tap/processinfo/d6e5a2a6-4647-4d98-916c-aec4ace54a65.json +0 -268
  301. package/.tap/processinfo/d7280c64-45e6-4b12-affc-3ac9a5d4014a.json +0 -268
  302. package/.tap/processinfo/d82c8367-d825-4405-88df-07298f6ef840.json +0 -269
  303. package/.tap/processinfo/d8f97e53-e921-4d33-9c8d-2f7e807a9425.json +0 -268
  304. package/.tap/processinfo/da546a73-9714-4f8c-bdbb-e42730edbcfa.json +0 -268
  305. package/.tap/processinfo/da7fb7fb-1da4-49f8-a3ee-d4ea623c01a5.json +0 -268
  306. package/.tap/processinfo/daa6a016-4f0c-4050-923c-2022e0bb21d8.json +0 -268
  307. package/.tap/processinfo/db9a251d-8540-4719-b464-e7d5febd97d1.json +0 -240
  308. package/.tap/processinfo/dc10c603-8e58-4611-baa3-44da2578d07a.json +0 -268
  309. package/.tap/processinfo/dde56c1a-858c-47cc-b0bb-61279620ac17.json +0 -268
  310. package/.tap/processinfo/e0d9c4ea-f7c7-4c64-8ced-66dc6f0ac5d2.json +0 -271
  311. package/.tap/processinfo/e121454f-5dfa-4209-ba15-4c39840871f2.json +0 -831
  312. package/.tap/processinfo/e1f43e40-c3fe-4eb8-a713-d5910cc6b25a.json +0 -268
  313. package/.tap/processinfo/e4575e7a-f00e-488b-94e1-8f877b54725e.json +0 -268
  314. package/.tap/processinfo/e9ad667e-8603-4488-af64-449cc9532803.json +0 -268
  315. package/.tap/processinfo/eb26a697-e5e2-4730-aeea-bcb9c49afd4d.json +0 -268
  316. package/.tap/processinfo/eb29d1c3-feaf-4744-9d84-cf257e8269b0.json +0 -268
  317. package/.tap/processinfo/ee720c0a-ed64-4e7e-8c0a-139c7b9725d2.json +0 -268
  318. package/.tap/processinfo/ef88c13a-87b2-49e4-a683-7b812505cd6f.json +0 -268
  319. package/.tap/processinfo/f4ed6948-dac0-4128-9f86-d083b6918ea7.json +0 -268
  320. package/.tap/processinfo/f7544c01-8ac7-4e42-8ad5-c4d62e094d1f.json +0 -270
  321. package/.tap/processinfo/f7cee4b3-7bcc-4591-a628-5629b0b41c9e.json +0 -268
  322. package/.tap/processinfo/f9c0a1f7-c1a4-44d3-ae3f-8c1eb42cd746.json +0 -269
  323. package/.tap/processinfo/fc46b4da-79db-4201-af7e-34bb17f92d69.json +0 -270
  324. package/.tap/processinfo/fccc0056-03c4-40cb-9d0b-2db4bbe573c1.json +0 -268
  325. package/.tap/processinfo/fd2df572-54d7-4ce7-b7aa-a2b4b00d4127.json +0 -254
  326. package/.tap/processinfo/fea9377f-b473-484d-bee6-ac7f49e50937.json +0 -269
  327. package/.tap/processinfo/feb516dc-abda-46e6-9b42-d37adfc63366.json +0 -268
  328. package/.tap/processinfo/ff0fda4c-aa2e-4236-906e-fdfb6bd6632e.json +0 -269
  329. package/.tap/test-results/test/404s.test.js.tap +0 -623
  330. package/.tap/test-results/test/500s.test.js.tap +0 -64
  331. package/.tap/test-results/test/allowUnsafeRegex.test.js.tap +0 -36
  332. package/.tap/test-results/test/als.test.js.tap +0 -15
  333. package/.tap/test-results/test/async-await.test.js.tap +0 -184
  334. package/.tap/test-results/test/async-dispose.test.js.tap +0 -8
  335. package/.tap/test-results/test/async_hooks.test.js.tap +0 -10
  336. package/.tap/test-results/test/bodyLimit.test.js.tap +0 -48
  337. package/.tap/test-results/test/buffer.test.js.tap +0 -20
  338. package/.tap/test-results/test/build/error-serializer.test.js.tap +0 -8
  339. package/.tap/test-results/test/build/version.test.js.tap +0 -7
  340. package/.tap/test-results/test/case-insensitive.test.js.tap +0 -36
  341. package/.tap/test-results/test/chainable.test.js.tap +0 -17
  342. package/.tap/test-results/test/check.test.js.tap +0 -10
  343. package/.tap/test-results/test/childLoggerFactory.test.js.tap +0 -23
  344. package/.tap/test-results/test/client-timeout.test.js.tap +0 -7
  345. package/.tap/test-results/test/close-pipelining.test.js.tap +0 -15
  346. package/.tap/test-results/test/close.test.js.tap +0 -172
  347. package/.tap/test-results/test/connectionTimeout.test.js.tap +0 -12
  348. package/.tap/test-results/test/constrained-routes.test.js.tap +0 -173
  349. package/.tap/test-results/test/content-length.test.js.tap +0 -46
  350. package/.tap/test-results/test/content-parser.test.js.tap +0 -266
  351. package/.tap/test-results/test/content-type.test.js.tap +0 -14
  352. package/.tap/test-results/test/context-config.test.js.tap +0 -41
  353. package/.tap/test-results/test/copy.test.js.tap +0 -14
  354. package/.tap/test-results/test/custom-http-server.test.js.tap +0 -30
  355. package/.tap/test-results/test/custom-parser-async.test.js.tap +0 -21
  356. package/.tap/test-results/test/custom-parser.0.test.js.tap +0 -199
  357. package/.tap/test-results/test/custom-parser.1.test.js.tap +0 -90
  358. package/.tap/test-results/test/custom-parser.2.test.js.tap +0 -22
  359. package/.tap/test-results/test/custom-parser.3.test.js.tap +0 -53
  360. package/.tap/test-results/test/custom-parser.4.test.js.tap +0 -45
  361. package/.tap/test-results/test/custom-parser.5.test.js.tap +0 -41
  362. package/.tap/test-results/test/custom-querystring-parser.test.js.tap +0 -46
  363. package/.tap/test-results/test/decorator.test.js.tap +0 -465
  364. package/.tap/test-results/test/delete.test.js.tap +0 -110
  365. package/.tap/test-results/test/diagnostics-channel/404.test.js.tap +0 -15
  366. package/.tap/test-results/test/diagnostics-channel/async-delay-request.test.js.tap +0 -25
  367. package/.tap/test-results/test/diagnostics-channel/async-request.test.js.tap +0 -24
  368. package/.tap/test-results/test/diagnostics-channel/error-before-handler.test.js.tap +0 -9
  369. package/.tap/test-results/test/diagnostics-channel/error-request.test.js.tap +0 -20
  370. package/.tap/test-results/test/diagnostics-channel/error-status.test.js.tap +0 -10
  371. package/.tap/test-results/test/diagnostics-channel/init.test.js.tap +0 -14
  372. package/.tap/test-results/test/diagnostics-channel/sync-delay-request.test.js.tap +0 -16
  373. package/.tap/test-results/test/diagnostics-channel/sync-request-reply.test.js.tap +0 -16
  374. package/.tap/test-results/test/diagnostics-channel/sync-request.test.js.tap +0 -19
  375. package/.tap/test-results/test/encapsulated-child-logger-factory.test.js.tap +0 -18
  376. package/.tap/test-results/test/encapsulated-error-handler.test.js.tap +0 -243
  377. package/.tap/test-results/test/esm/errorCodes.test.mjs.tap +0 -9
  378. package/.tap/test-results/test/esm/esm.test.mjs.tap +0 -8
  379. package/.tap/test-results/test/esm/index.test.js.tap +0 -8
  380. package/.tap/test-results/test/fastify-instance.test.js.tap +0 -114
  381. package/.tap/test-results/test/findRoute.test.js.tap +0 -37
  382. package/.tap/test-results/test/fluent-schema.test.js.tap +0 -36
  383. package/.tap/test-results/test/genReqId.test.js.tap +0 -106
  384. package/.tap/test-results/test/get.test.js.tap +0 -151
  385. package/.tap/test-results/test/handler-context.test.js.tap +0 -19
  386. package/.tap/test-results/test/has-route.test.js.tap +0 -30
  387. package/.tap/test-results/test/head.test.js.tap +0 -130
  388. package/.tap/test-results/test/header-overflow.test.js.tap +0 -16
  389. package/.tap/test-results/test/hooks-async.test.js.tap +0 -286
  390. package/.tap/test-results/test/hooks.on-listen.test.js.tap +0 -311
  391. package/.tap/test-results/test/hooks.on-ready.test.js.tap +0 -151
  392. package/.tap/test-results/test/hooks.test.js.tap +0 -966
  393. package/.tap/test-results/test/http2/closing.test.js.tap +0 -35
  394. package/.tap/test-results/test/http2/constraint.test.js.tap +0 -32
  395. package/.tap/test-results/test/http2/head.test.js.tap +0 -9
  396. package/.tap/test-results/test/http2/missing-http2-module.test.js.tap +0 -8
  397. package/.tap/test-results/test/http2/plain.test.js.tap +0 -22
  398. package/.tap/test-results/test/http2/secure-with-fallback.test.js.tap +0 -40
  399. package/.tap/test-results/test/http2/secure.test.js.tap +0 -27
  400. package/.tap/test-results/test/http2/unknown-http-method.test.js.tap +0 -9
  401. package/.tap/test-results/test/https/custom-https-server.test.js.tap +0 -10
  402. package/.tap/test-results/test/https/https.test.js.tap +0 -45
  403. package/.tap/test-results/test/imports.test.js.tap +0 -14
  404. package/.tap/test-results/test/inject.test.js.tap +0 -165
  405. package/.tap/test-results/test/internals/all.test.js.tap +0 -42
  406. package/.tap/test-results/test/internals/contentTypeParser.test.js.tap +0 -14
  407. package/.tap/test-results/test/internals/context.test.js.tap +0 -14
  408. package/.tap/test-results/test/internals/decorator.test.js.tap +0 -51
  409. package/.tap/test-results/test/internals/errors.test.js.tap +0 -1212
  410. package/.tap/test-results/test/internals/handleRequest.test.js.tap +0 -69
  411. package/.tap/test-results/test/internals/hookRunner.test.js.tap +0 -143
  412. package/.tap/test-results/test/internals/hooks.test.js.tap +0 -45
  413. package/.tap/test-results/test/internals/initialConfig.test.js.tap +0 -125
  414. package/.tap/test-results/test/internals/logger.test.js.tap +0 -71
  415. package/.tap/test-results/test/internals/plugin.test.js.tap +0 -48
  416. package/.tap/test-results/test/internals/reply-serialize.test.js.tap +0 -166
  417. package/.tap/test-results/test/internals/reply.test.js.tap +0 -688
  418. package/.tap/test-results/test/internals/reqIdGenFactory.test.js.tap +0 -74
  419. package/.tap/test-results/test/internals/request-validate.test.js.tap +0 -384
  420. package/.tap/test-results/test/internals/request.test.js.tap +0 -163
  421. package/.tap/test-results/test/internals/server.test.js.tap +0 -30
  422. package/.tap/test-results/test/internals/validation.test.js.tap +0 -121
  423. package/.tap/test-results/test/keepAliveTimeout.test.js.tap +0 -12
  424. package/.tap/test-results/test/listen.1.test.js.tap +0 -31
  425. package/.tap/test-results/test/listen.2.test.js.tap +0 -46
  426. package/.tap/test-results/test/listen.3.test.js.tap +0 -25
  427. package/.tap/test-results/test/listen.4.test.js.tap +0 -51
  428. package/.tap/test-results/test/lock.test.js.tap +0 -29
  429. package/.tap/test-results/test/logger/instantiation.test.js.tap +0 -92
  430. package/.tap/test-results/test/logger/logging.test.js.tap +0 -117
  431. package/.tap/test-results/test/logger/options.test.js.tap +0 -165
  432. package/.tap/test-results/test/logger/request.test.js.tap +0 -82
  433. package/.tap/test-results/test/logger/response.test.js.tap +0 -38
  434. package/.tap/test-results/test/maxRequestsPerSocket.test.js.tap +0 -44
  435. package/.tap/test-results/test/method-missing.test.js.tap +0 -8
  436. package/.tap/test-results/test/middleware.test.js.tap +0 -17
  437. package/.tap/test-results/test/mkcalendar.test.js.tap +0 -43
  438. package/.tap/test-results/test/mkcol.test.js.tap +0 -14
  439. package/.tap/test-results/test/move.test.js.tap +0 -15
  440. package/.tap/test-results/test/noop-set.test.js.tap +0 -8
  441. package/.tap/test-results/test/nullable-validation.test.js.tap +0 -36
  442. package/.tap/test-results/test/options.error-handler.test.js.tap +0 -186
  443. package/.tap/test-results/test/options.test.js.tap +0 -174
  444. package/.tap/test-results/test/output-validation.test.js.tap +0 -66
  445. package/.tap/test-results/test/patch.error-handler.test.js.tap +0 -206
  446. package/.tap/test-results/test/patch.test.js.tap +0 -182
  447. package/.tap/test-results/test/plugin.1.test.js.tap +0 -78
  448. package/.tap/test-results/test/plugin.2.test.js.tap +0 -102
  449. package/.tap/test-results/test/plugin.3.test.js.tap +0 -58
  450. package/.tap/test-results/test/plugin.4.test.js.tap +0 -164
  451. package/.tap/test-results/test/post-empty-body.test.js.tap +0 -8
  452. package/.tap/test-results/test/pretty-print.test.js.tap +0 -82
  453. package/.tap/test-results/test/promises.test.js.tap +0 -46
  454. package/.tap/test-results/test/propfind.test.js.tap +0 -43
  455. package/.tap/test-results/test/proppatch.test.js.tap +0 -29
  456. package/.tap/test-results/test/proto-poisoning.test.js.tap +0 -47
  457. package/.tap/test-results/test/put.error-handler.test.js.tap +0 -206
  458. package/.tap/test-results/test/put.test.js.tap +0 -182
  459. package/.tap/test-results/test/register.test.js.tap +0 -61
  460. package/.tap/test-results/test/reply-code.test.js.tap +0 -40
  461. package/.tap/test-results/test/reply-earlyHints.test.js.tap +0 -22
  462. package/.tap/test-results/test/reply-error.test.js.tap +0 -643
  463. package/.tap/test-results/test/reply-trailers.test.js.tap +0 -176
  464. package/.tap/test-results/test/report.test.js.tap +0 -43
  465. package/.tap/test-results/test/request-error.test.js.tap +0 -98
  466. package/.tap/test-results/test/request-id.test.js.tap +0 -38
  467. package/.tap/test-results/test/request.deprecated.test.js.tap +0 -13
  468. package/.tap/test-results/test/requestTimeout.test.js.tap +0 -21
  469. package/.tap/test-results/test/route-hooks.test.js.tap +0 -498
  470. package/.tap/test-results/test/route-prefix.test.js.tap +0 -195
  471. package/.tap/test-results/test/route-shorthand.test.js.tap +0 -190
  472. package/.tap/test-results/test/route.1.test.js.tap +0 -93
  473. package/.tap/test-results/test/route.2.test.js.tap +0 -28
  474. package/.tap/test-results/test/route.3.test.js.tap +0 -39
  475. package/.tap/test-results/test/route.4.test.js.tap +0 -32
  476. package/.tap/test-results/test/route.5.test.js.tap +0 -54
  477. package/.tap/test-results/test/route.6.test.js.tap +0 -81
  478. package/.tap/test-results/test/route.7.test.js.tap +0 -93
  479. package/.tap/test-results/test/route.8.test.js.tap +0 -38
  480. package/.tap/test-results/test/router-options.test.js.tap +0 -104
  481. package/.tap/test-results/test/same-shape.test.js.tap +0 -22
  482. package/.tap/test-results/test/schema-examples.test.js.tap +0 -85
  483. package/.tap/test-results/test/schema-feature.test.js.tap +0 -445
  484. package/.tap/test-results/test/schema-serialization.test.js.tap +0 -194
  485. package/.tap/test-results/test/schema-special-usage.test.js.tap +0 -186
  486. package/.tap/test-results/test/schema-validation.test.js.tap +0 -199
  487. package/.tap/test-results/test/search.test.js.tap +0 -77
  488. package/.tap/test-results/test/serialize-response.test.js.tap +0 -26
  489. package/.tap/test-results/test/server.test.js.tap +0 -65
  490. package/.tap/test-results/test/set-error-handler.test.js.tap +0 -7
  491. package/.tap/test-results/test/skip-reply-send.test.js.tap +0 -272
  492. package/.tap/test-results/test/stream.1.test.js.tap +0 -36
  493. package/.tap/test-results/test/stream.2.test.js.tap +0 -20
  494. package/.tap/test-results/test/stream.3.test.js.tap +0 -34
  495. package/.tap/test-results/test/stream.4.test.js.tap +0 -40
  496. package/.tap/test-results/test/stream.5.test.js.tap +0 -37
  497. package/.tap/test-results/test/sync-routes.test.js.tap +0 -19
  498. package/.tap/test-results/test/throw.test.js.tap +0 -116
  499. package/.tap/test-results/test/trace.test.js.tap +0 -7
  500. package/.tap/test-results/test/trust-proxy.test.js.tap +0 -109
  501. package/.tap/test-results/test/type-provider.test.js.tap +0 -12
  502. package/.tap/test-results/test/unlock.test.js.tap +0 -14
  503. package/.tap/test-results/test/upgrade.test.js.tap +0 -8
  504. package/.tap/test-results/test/url-rewriting.test.js.tap +0 -39
  505. package/.tap/test-results/test/useSemicolonDelimiter.test.js.tap +0 -33
  506. package/.tap/test-results/test/validation-error-handling.test.js.tap +0 -180
  507. package/.tap/test-results/test/versioned-routes.test.js.tap +0 -151
  508. package/.tap/test-results/test/web-api.test.js.tap +0 -51
  509. package/.tap/test-results/test/wrapThenable.test.js.tap +0 -11
  510. package/EXPENSE_POLICY.md +0 -105
  511. package/test/default-route.test.js +0 -88
  512. package/test/listen.deprecated.test.js +0 -229
  513. package/test/unsupported-httpversion.test.js +0 -31
  514. package/types/.eslintrc.json +0 -48
@@ -1,688 +0,0 @@
1
- TAP version 14
2
- # Subtest: Once called, Reply should return an object with methods
3
- 1..15
4
- ok 1 - should be equal
5
- ok 2 - should be equal
6
- ok 3 - should be equal
7
- ok 4 - should be equal
8
- ok 5 - should be equal
9
- ok 6 - should be equal
10
- ok 7 - should be equal
11
- ok 8 - should be equal
12
- ok 9 - should be equal
13
- ok 10 - should be equivalent
14
- ok 11 - should be equal
15
- ok 12 - should be equal
16
- ok 13 - should be equal
17
- ok 14 - should be equal
18
- ok 15 - should be equal
19
- ok 1 - Once called, Reply should return an object with methods # time=7.899ms
20
-
21
- # Subtest: reply.send will logStream error and destroy the stream
22
- 1..1
23
- ok 1 - Error not logged and not streamed
24
- ok 2 - reply.send will logStream error and destroy the stream # time=1.414ms
25
-
26
- # Subtest: reply.send throw with circular JSON
27
- 1..1
28
- ok 1 - Converting circular structure to JSON
29
- ok 3 - reply.send throw with circular JSON # time=0.436ms
30
-
31
- # Subtest: reply.send returns itself
32
- 1..1
33
- ok 1 - should be equal
34
- ok 4 - reply.send returns itself # time=0.415ms
35
-
36
- # Subtest: reply.serializer should set a custom serializer
37
- 1..2
38
- ok 1 - should be equal
39
- ok 2 - should be equal
40
- ok 5 - reply.serializer should set a custom serializer # time=0.262ms
41
-
42
- # Subtest: reply.serializer should support running preSerialization hooks
43
- 1..3
44
- ok 1 - preSerialization
45
- ok 2 - should not error
46
- ok 3 - should be equal
47
- ok 6 - reply.serializer should support running preSerialization hooks # time=24.355ms
48
-
49
- # Subtest: reply.serialize should serialize payload
50
- 1..1
51
- ok 1 - should be equal
52
- ok 7 - reply.serialize should serialize payload # time=0.367ms
53
-
54
- # Subtest: reply.serialize should serialize payload with a custom serializer
55
- 1..2
56
- ok 1 - should be equal
57
- ok 2 - custom serializer not called
58
- ok 8 - reply.serialize should serialize payload with a custom serializer # time=0.255ms
59
-
60
- # Subtest: reply.serialize should serialize payload with a context default serializer
61
- 1..2
62
- ok 1 - should be equal
63
- ok 2 - custom serializer not called
64
- ok 9 - reply.serialize should serialize payload with a context default serializer # time=0.246ms
65
-
66
- # Subtest: reply.serialize should serialize payload with Fastify instance
67
- 1..2
68
- ok 1 - should not error
69
- ok 2 - should be equal
70
- ok 10 - reply.serialize should serialize payload with Fastify instance # time=8.171ms
71
-
72
- # Subtest: within an instance
73
- ok 1 - should not error
74
- # Subtest: custom serializer should be used
75
- 1..3
76
- ok 1 - should not error
77
- ok 2 - should be equal
78
- ok 3 - should be equivalent
79
- ok 2 - custom serializer should be used # time=7.559ms
80
-
81
- # Subtest: status code and content-type should be correct
82
- 1..4
83
- ok 1 - should not error
84
- ok 2 - should be equal
85
- ok 3 - should be equal
86
- ok 4 - should be equivalent
87
- ok 3 - status code and content-type should be correct # time=2.012ms
88
-
89
- # Subtest: auto status code should be 200
90
- 1..3
91
- ok 1 - should not error
92
- ok 2 - should be equal
93
- ok 3 - should be equivalent
94
- ok 4 - auto status code should be 200 # time=1.847ms
95
-
96
- # Subtest: auto type should be text/plain
97
- 1..3
98
- ok 1 - should not error
99
- ok 2 - should be equal
100
- ok 3 - should be equivalent
101
- ok 5 - auto type should be text/plain # time=1.497ms
102
-
103
- # Subtest: redirect to `/` - 1
104
- 1..1
105
- ok 1 - should be equal
106
- ok 6 - redirect to `/` - 1 # time=1.765ms
107
-
108
- # Subtest: redirect to `/` - 2
109
- 1..1
110
- ok 1 - should be equal
111
- ok 7 - redirect to `/` - 2 # time=0.707ms
112
-
113
- # Subtest: redirect to `/` - 3
114
- 1..4
115
- ok 1 - should not error
116
- ok 2 - should be equal
117
- ok 3 - should be equal
118
- ok 4 - should be equivalent
119
- ok 8 - redirect to `/` - 3 # time=3.996ms
120
-
121
- # Subtest: redirect to `/` - 4
122
- 1..4
123
- ok 1 - should not error
124
- ok 2 - should be equal
125
- ok 3 - should be equal
126
- ok 4 - should be equivalent
127
- ok 9 - redirect to `/` - 4 # time=1.447ms
128
-
129
- # Subtest: redirect to `/` - 5
130
- 1..3
131
- ok 1 - should be equal
132
- ok 2 - should be equal
133
- ok 3 - should be equal
134
- ok 10 - redirect to `/` - 5 # time=1.027ms
135
-
136
- # Subtest: redirect to `/` - 6
137
- 1..4
138
- ok 1 - should not error
139
- ok 2 - should be equal
140
- ok 3 - should be equal
141
- ok 4 - should be equivalent
142
- ok 11 - redirect to `/` - 6 # time=2.562ms
143
-
144
- # Subtest: redirect to `/` - 7
145
- 1..4
146
- ok 1 - should not error
147
- ok 2 - should be equal
148
- ok 3 - should be equal
149
- ok 4 - should be equivalent
150
- ok 12 - redirect to `/` - 7 # time=1.449ms
151
-
152
- # Subtest: redirect to `/` - 8
153
- 1..1
154
- ok 1 - should be equal
155
- ok 13 - redirect to `/` - 8 # time=1.086ms
156
-
157
- # Subtest: redirect to `/` - 9
158
- 1..1
159
- ok 1 - should be equal
160
- ok 14 - redirect to `/` - 9 # time=0.686ms
161
-
162
- # Subtest: redirect with async function to `/` - 10
163
- 1..1
164
- ok 1 - should be equal
165
- ok 15 - redirect with async function to `/` - 10 # time=2.045ms
166
-
167
- 1..15
168
- ok 11 - within an instance # time=50.021ms
169
-
170
- # Subtest: buffer without content type should send a application/octet-stream and raw buffer
171
- 1..4
172
- ok 1 - should not error
173
- ok 2 - should not error
174
- ok 3 - should be equal
175
- ok 4 - should be equivalent
176
- ok 12 - buffer without content type should send a application/octet-stream and raw buffer # time=5.492ms
177
-
178
- # Subtest: Uint8Array without content type should send a application/octet-stream and raw buffer
179
- 1..4
180
- ok 1 - should not error
181
- ok 2 - should not error
182
- ok 3 - should be equal
183
- ok 4 - should be equivalent
184
- ok 13 - Uint8Array without content type should send a application/octet-stream and raw buffer # time=11.333ms
185
-
186
- # Subtest: Uint16Array without content type should send a application/octet-stream and raw buffer
187
- 1..4
188
- ok 1 - should not error
189
- ok 2 - should not error
190
- ok 3 - should be equal
191
- ok 4 - should be equivalent
192
- ok 14 - Uint16Array without content type should send a application/octet-stream and raw buffer # time=3.123ms
193
-
194
- # Subtest: TypedArray with content type should not send application/octet-stream
195
- 1..4
196
- ok 1 - should not error
197
- ok 2 - should not error
198
- ok 3 - should be equal
199
- ok 4 - should be equivalent
200
- ok 15 - TypedArray with content type should not send application/octet-stream # time=20.965ms
201
-
202
- # Subtest: buffer with content type should not send application/octet-stream
203
- 1..4
204
- ok 1 - should not error
205
- ok 2 - should not error
206
- ok 3 - should be equal
207
- ok 4 - should be equivalent
208
- ok 16 - buffer with content type should not send application/octet-stream # time=7.336ms
209
-
210
- # Subtest: stream with content type should not send application/octet-stream
211
- 1..4
212
- ok 1 - should not error
213
- ok 2 - should not error
214
- ok 3 - should be equal
215
- ok 4 - should be equivalent
216
- ok 17 - stream with content type should not send application/octet-stream # time=9.188ms
217
-
218
- # Subtest: stream without content type should not send application/octet-stream
219
- 1..4
220
- ok 1 - should not error
221
- ok 2 - should not error
222
- ok 3 - should be equal
223
- ok 4 - should be equivalent
224
- ok 18 - stream without content type should not send application/octet-stream # time=4.315ms
225
-
226
- # Subtest: stream using reply.raw.writeHead should return customize headers
227
- 1..6
228
- ok 1 - should not error
229
- ok 2 - should be equal
230
- ok 3 - should not error
231
- ok 4 - should be equal
232
- ok 5 - should be equal
233
- ok 6 - should be equivalent
234
- ok 19 - stream using reply.raw.writeHead should return customize headers # time=4.192ms
235
-
236
- # Subtest: plain string without content type should send a text/plain
237
- 1..4
238
- ok 1 - should not error
239
- ok 2 - should not error
240
- ok 3 - should be equal
241
- ok 4 - should be equivalent
242
- ok 20 - plain string without content type should send a text/plain # time=3.473ms
243
-
244
- # Subtest: plain string with content type should be sent unmodified
245
- 1..4
246
- ok 1 - should not error
247
- ok 2 - should not error
248
- ok 3 - should be equal
249
- ok 4 - should be equivalent
250
- ok 21 - plain string with content type should be sent unmodified # time=11.913ms
251
-
252
- # Subtest: plain string with content type and custom serializer should be serialized
253
- 1..4
254
- ok 1 - should not error
255
- ok 2 - should not error
256
- ok 3 - should be equal
257
- ok 4 - should be equivalent
258
- ok 22 - plain string with content type and custom serializer should be serialized # time=5.08ms
259
-
260
- # Subtest: plain string with content type application/json should NOT be serialized as json
261
- 1..4
262
- ok 1 - should not error
263
- ok 2 - should not error
264
- ok 3 - should be equal
265
- ok 4 - should be equivalent
266
- ok 23 - plain string with content type application/json should NOT be serialized as json # time=3.283ms
267
-
268
- # Subtest: plain string with custom json content type should NOT be serialized as json
269
- 1..19
270
- ok 1 - should not error
271
- ok 2 - should not error
272
- ok 3 - should be equal
273
- ok 4 - should be equivalent
274
- ok 5 - should not error
275
- ok 6 - should be equal
276
- ok 7 - should be equivalent
277
- ok 8 - should not error
278
- ok 9 - should be equal
279
- ok 10 - should be equivalent
280
- ok 11 - should not error
281
- ok 12 - should be equal
282
- ok 13 - should be equivalent
283
- ok 14 - should not error
284
- ok 15 - should be equal
285
- ok 16 - should be equivalent
286
- ok 17 - should not error
287
- ok 18 - should be equal
288
- ok 19 - should be equivalent
289
- ok 24 - plain string with custom json content type should NOT be serialized as json # time=6.393ms
290
-
291
- # Subtest: non-string with content type application/json SHOULD be serialized as json
292
- 1..4
293
- ok 1 - should not error
294
- ok 2 - should not error
295
- ok 3 - should be equal
296
- ok 4 - should be equivalent
297
- ok 25 - non-string with content type application/json SHOULD be serialized as json # time=3.699ms
298
-
299
- # Subtest: non-string with custom json's content-type SHOULD be serialized as json
300
- 1..4
301
- ok 1 - should not error
302
- ok 2 - should not error
303
- ok 3 - should be equal
304
- ok 4 - should be equivalent
305
- ok 26 - non-string with custom json's content-type SHOULD be serialized as json # time=5.672ms
306
-
307
- # Subtest: non-string with custom json content type SHOULD be serialized as json
308
- 1..16
309
- ok 1 - should not error
310
- ok 2 - should not error
311
- ok 3 - should be equal
312
- ok 4 - should be equivalent
313
- ok 5 - should not error
314
- ok 6 - should be equal
315
- ok 7 - should be equivalent
316
- ok 8 - should not error
317
- ok 9 - should be equal
318
- ok 10 - should be equivalent
319
- ok 11 - should not error
320
- ok 12 - should be equal
321
- ok 13 - should be equivalent
322
- ok 14 - should not error
323
- ok 15 - should be equal
324
- ok 16 - should be equivalent
325
- ok 27 - non-string with custom json content type SHOULD be serialized as json # time=5.811ms
326
-
327
- # Subtest: error object with a content type that is not application/json should work
328
- 1..6
329
- ok 1 - should not error
330
- ok 2 - should be equal
331
- ok 3 - should be equal
332
- ok 4 - should not error
333
- ok 5 - should be equal
334
- ok 6 - should be equal
335
- ok 28 - error object with a content type that is not application/json should work # time=2.181ms
336
-
337
- # Subtest: undefined payload should be sent as-is
338
- 1..6
339
- ok 1 - should not error
340
- ok 2 - should be equal
341
- ok 3 - should not error
342
- ok 4 - should be equal
343
- ok 5 - should be equal
344
- ok 6 - should be equal
345
- ok 29 - undefined payload should be sent as-is # time=4.987ms
346
-
347
- # Subtest: for HEAD method, no body should be sent but content-length should be
348
- 1..11
349
- ok 1 - should not error
350
- ok 2 - should be equal
351
- ok 3 - should not error
352
- ok 4 - should be equal
353
- ok 5 - should be equal
354
- ok 6 - should be equal
355
- ok 7 - should be equal
356
- ok 8 - should not error
357
- ok 9 - should be equal
358
- ok 10 - should be equal
359
- ok 11 - should be equal
360
- ok 30 - for HEAD method, no body should be sent but content-length should be # time=5.975ms
361
-
362
- # Subtest: reply.send(new NotFound()) should not invoke the 404 handler
363
- 1..9
364
- ok 1 - should not error
365
- ok 2 - should not error
366
- ok 3 - should be equal
367
- ok 4 - should be equal
368
- ok 5 - should be equivalent
369
- ok 6 - should not error
370
- ok 7 - should be equal
371
- ok 8 - should be equal
372
- ok 9 - should be equivalent
373
- ok 31 - reply.send(new NotFound()) should not invoke the 404 handler # time=6.219ms
374
-
375
- # Subtest: reply can set multiple instances of same header
376
- 1..4
377
- ok 1 - should not error
378
- ok 2 - should not error
379
- ok 3 - should be equal
380
- ok 4 - should be equivalent strictly
381
- ok 32 - reply can set multiple instances of same header # time=3.587ms
382
-
383
- # Subtest: reply.hasHeader returns correct values
384
- 1..3
385
- ok 1 - should not error
386
- ok 2 - should be equal
387
- ok 3 - should be equal
388
- ok 33 - reply.hasHeader returns correct values # time=2.645ms
389
-
390
- # Subtest: reply.getHeader returns correct values
391
- 1..5
392
- ok 1 - should not error
393
- ok 2 - should be equal
394
- ok 3 - should be equivalent strictly
395
- ok 4 - should be equivalent strictly
396
- ok 5 - should be equivalent strictly
397
- ok 34 - reply.getHeader returns correct values # time=2.825ms
398
-
399
- # Subtest: reply.getHeader returns raw header if there is not in the reply headers
400
- 1..1
401
- ok 1 - should be equal
402
- ok 35 - reply.getHeader returns raw header if there is not in the reply headers # time=0.268ms
403
-
404
- # Subtest: reply.getHeaders returns correct values
405
- 1..3
406
- ok 1 - should be equivalent strictly
407
- ok 2 - should be equivalent strictly
408
- ok 3 - should not error
409
- ok 36 - reply.getHeaders returns correct values # time=1.399ms
410
-
411
- # Subtest: reply.removeHeader can remove the value
412
- 1..5
413
- ok 1 - should not error
414
- ok 2 - should be equal
415
- ok 3 - should be equal
416
- ok 4 - should be equivalent strictly
417
- ok 5 - (unnamed test)
418
- ok 37 - reply.removeHeader can remove the value # time=3.673ms
419
-
420
- # Subtest: reply.header can reset the value
421
- 1..3
422
- ok 1 - should not error
423
- ok 2 - should be equivalent strictly
424
- ok 3 - (unnamed test)
425
- ok 38 - reply.header can reset the value # time=5.203ms
426
-
427
- # Subtest: reply.hasHeader computes raw and fastify headers
428
- 1..4
429
- ok 1 - should not error
430
- ok 2 - should be equal
431
- ok 3 - should be equal
432
- ok 4 - (unnamed test)
433
- ok 39 - reply.hasHeader computes raw and fastify headers # time=3.781ms
434
-
435
- # Subtest: Reply should handle JSON content type with a charset
436
- 1..16
437
- ok 1 - should not error
438
- ok 2 - should be equal
439
- ok 3 - should not error
440
- ok 4 - should be equal
441
- ok 5 - should not error
442
- ok 6 - should be equal
443
- ok 7 - should not error
444
- ok 8 - should be equal
445
- ok 9 - should not error
446
- ok 10 - should be equal
447
- ok 11 - should not error
448
- ok 12 - should be equal
449
- ok 13 - should not error
450
- ok 14 - should be equal
451
- ok 15 - should not error
452
- ok 16 - should be equal
453
- ok 40 - Reply should handle JSON content type with a charset # time=3.148ms
454
-
455
- # Subtest: Content type and charset set previously
456
- 1..2
457
- ok 1 - should not error
458
- ok 2 - should be equal
459
- ok 41 - Content type and charset set previously # time=1.083ms
460
-
461
- # Subtest: .status() is an alias for .code()
462
- 1..2
463
- ok 1 - should not error
464
- ok 2 - should be equal
465
- ok 42 - .status() is an alias for .code() # time=0.918ms
466
-
467
- # Subtest: .statusCode is getter and setter
468
- 1..4
469
- ok 1 - default status value
470
- ok 2 - should be equal
471
- ok 3 - should not error
472
- ok 4 - should be equal
473
- ok 43 - .statusCode is getter and setter # time=1.164ms
474
-
475
- # Subtest: reply.header setting multiple cookies as multiple Set-Cookie headers
476
- 1..7
477
- ok 1 - should not error
478
- ok 2 - should be equal
479
- ok 3 - should be equivalent strictly
480
- ok 4 - should not error
481
- ok 5 - should not error
482
- ok 6 - should be equal
483
- ok 7 - should be equivalent strictly
484
- ok 44 - reply.header setting multiple cookies as multiple Set-Cookie headers # time=7.467ms
485
-
486
- # Subtest: should emit deprecation warning when trying to modify the reply.sent property
487
- 1..4
488
- ok 1 - should be equal
489
- ok 2 - should be equal
490
- ok 3 - should not error
491
- ok 4 - (unnamed test)
492
- ok 45 - should emit deprecation warning when trying to modify the reply.sent property # time=1.466ms
493
-
494
- # Subtest: should emit deprecation warning when trying to use the reply.context.config property
495
- 1..4
496
- ok 1 - should be equal
497
- ok 2 - should be equal
498
- ok 3 - should not error
499
- ok 4 - (unnamed test)
500
- ok 46 - should emit deprecation warning when trying to use the reply.context.config property # time=1.126ms
501
-
502
- # Subtest: should throw error when passing falsy value to reply.sent
503
- 1..4
504
- ok 1 - should be equal
505
- ok 2 - should be equal
506
- ok 3 - should not error
507
- ok 4 - (unnamed test)
508
- ok 47 - should throw error when passing falsy value to reply.sent # time=1.16ms
509
-
510
- # Subtest: should throw error when attempting to set reply.sent more than once
511
- 1..3
512
- ok 1 - should be equal
513
- ok 2 - should not error
514
- ok 3 - (unnamed test)
515
- ok 48 - should throw error when attempting to set reply.sent more than once # time=1.263ms
516
-
517
- # Subtest: should not throw error when attempting to set reply.sent if the underlining request was sent
518
- 1..3
519
- ok 1 - expect to not throw
520
- ok 2 - should not error
521
- ok 3 - (unnamed test)
522
- ok 49 - should not throw error when attempting to set reply.sent if the underlining request was sent # time=1.052ms
523
-
524
- # Subtest: reply.elapsedTime should return 0 before the timer is initialised on the reply by setting up response listeners
525
- 1..1
526
- ok 1 - should be equal
527
- ok 50 - reply.elapsedTime should return 0 before the timer is initialised on the reply by setting up response listeners # time=0.197ms
528
-
529
- # Subtest: reply.elapsedTime should return a number greater than 0 after the timer is initialised on the reply by setting up response listeners
530
- 1..1
531
- ok 1 - should be equal
532
- ok 51 - reply.elapsedTime should return a number greater than 0 after the timer is initialised on the reply by setting up response listeners # time=1.406ms
533
-
534
- # Subtest: reply.elapsedTime should return the time since a request started while inflight
535
- 1..1
536
- ok 1 - should be equal
537
- ok 52 - reply.elapsedTime should return the time since a request started while inflight # time=1.026ms
538
-
539
- # Subtest: reply.elapsedTime should return the same value after a request is finished
540
- 1..1
541
- ok 1 - should be equal
542
- ok 53 - reply.elapsedTime should return the same value after a request is finished # time=1.03ms
543
-
544
- # Subtest: reply should use the custom serializer
545
- 1..4
546
- ok 1 - should be equivalent
547
- ok 2 - should be equal
548
- ok 3 - should not error
549
- ok 4 - should be equal
550
- ok 54 - reply should use the custom serializer # time=1.268ms
551
-
552
- # Subtest: reply should use the right serializer in encapsulated context
553
- 1..9
554
- ok 1 - should be equivalent
555
- ok 2 - should be equivalent
556
- ok 3 - should be equivalent
557
- ok 4 - should not error
558
- ok 5 - should be equal
559
- ok 6 - should not error
560
- ok 7 - should be equal
561
- ok 8 - should not error
562
- ok 9 - should be equal
563
- ok 55 - reply should use the right serializer in encapsulated context # time=2.599ms
564
-
565
- # Subtest: reply should use the right serializer in deep encapsulated context
566
- 1..8
567
- ok 1 - should be equivalent
568
- ok 2 - should be equivalent
569
- ok 3 - should not error
570
- ok 4 - should be equal
571
- ok 5 - should not error
572
- ok 6 - should be equal
573
- ok 7 - should not error
574
- ok 8 - should be equal
575
- ok 56 - reply should use the right serializer in deep encapsulated context # time=3.874ms
576
-
577
- # Subtest: reply should use the route serializer
578
- 1..3
579
- ok 1 - should be equivalent
580
- ok 2 - should not error
581
- ok 3 - should be equal
582
- ok 57 - reply should use the route serializer # time=1.205ms
583
-
584
- # Subtest: cannot set the replySerializer when the server is running
585
- 1..2
586
- ok 1 - should not error
587
- ok 2 - should be equal
588
- ok 58 - cannot set the replySerializer when the server is running # time=2.453ms
589
-
590
- # Subtest: reply should not call the custom serializer for errors and not found
591
- 1..9
592
- ok 1 - should be equivalent
593
- ok 2 - should be equal
594
- ok 3 - should not error
595
- ok 4 - should be equal
596
- ok 5 - should be equal
597
- ok 6 - should not error
598
- ok 7 - should be equal
599
- ok 8 - should not error
600
- ok 9 - should be equal
601
- ok 59 - reply should not call the custom serializer for errors and not found # time=2.691ms
602
-
603
- # Subtest: reply.then
604
- 1..4
605
- # Subtest: without an error
606
- 1..1
607
- ok 1 - fulfilled called
608
- ok 1 - without an error # time=1.243ms
609
-
610
- # Subtest: with an error
611
- 1..1
612
- ok 1 - should be equal
613
- ok 2 - with an error # time=0.362ms
614
-
615
- # Subtest: with error but without reject callback
616
- 1..1
617
- ok 1 - (unnamed test)
618
- ok 3 - with error but without reject callback # time=0.221ms
619
-
620
- # Subtest: with error, without reject callback, with logger
621
- 1..1
622
- ok 1 - should be equal
623
- ok 4 - with error, without reject callback, with logger # time=0.305ms
624
-
625
- ok 60 - reply.then # time=7.759ms
626
-
627
- # Subtest: reply.sent should read from response.writableEnded if it is defined
628
- 1..1
629
- ok 1 - should be equal
630
- ok 61 - reply.sent should read from response.writableEnded if it is defined # time=0.178ms
631
-
632
- # Subtest: redirect to an invalid URL should not crash the server
633
- ok 1 - should be equal
634
- ok 2 - should be equal
635
- ok 3 - should be equivalent
636
- ok 4 - should be equal
637
- ok 5 - should be equal
638
- ok 6 - should be equal
639
- ok 7 - should be equal
640
- 1..7
641
- ok 62 - redirect to an invalid URL should not crash the server # time=8.584ms
642
-
643
- # Subtest: redirect with deprecated signature should warn
644
- 1..4
645
- ok 1 - should be equal
646
- ok 2 - should be equal
647
- ok 3 - should not error
648
- ok 4 - (unnamed test)
649
- ok 63 - redirect with deprecated signature should warn # time=1.378ms
650
-
651
- # Subtest: invalid response headers should not crash the server
652
- ok 1 - only the first invalid header is logged
653
- ok 2 - should be equal
654
- ok 3 - should be equivalent
655
- 1..3
656
- ok 64 - invalid response headers should not crash the server # time=4.574ms
657
-
658
- # Subtest: invalid response headers when sending back an error
659
- ok 1 - only the first invalid header is logged
660
- ok 2 - should be equal
661
- ok 3 - should be equivalent
662
- 1..3
663
- ok 65 - invalid response headers when sending back an error # time=2.88ms
664
-
665
- # Subtest: invalid response headers and custom error handler
666
- ok 1 - custom error handler receives the error
667
- ok 2 - only the first invalid header is logged
668
- ok 3 - should be equal
669
- ok 4 - should be equivalent
670
- 1..4
671
- ok 66 - invalid response headers and custom error handler # time=4.119ms
672
-
673
- # Subtest: reply.send will intercept ERR_HTTP_HEADERS_SENT and log an error message
674
- 1..2
675
- ok 1 - should be equal
676
- ok 2 - should be equal
677
- ok 67 - reply.send will intercept ERR_HTTP_HEADERS_SENT and log an error message # time=0.363ms
678
-
679
- # Subtest: Uint8Array view of ArrayBuffer returns correct byteLength
680
- 1..5
681
- ok 1 - should not error
682
- ok 2 - should not error
683
- ok 3 - should be equal
684
- ok 4 - should be equal
685
- ok 5 - should be equivalent
686
- ok 68 - Uint8Array view of ArrayBuffer returns correct byteLength # time=6.699ms
687
-
688
- 1..68