fastify 4.26.2 → 4.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (432) hide show
  1. package/.tap/processinfo/029eb7a1-1942-40bc-98e2-cef3b7a14b5e.json +268 -0
  2. package/.tap/processinfo/03c196c6-01c3-4268-a9b5-298dff18a873.json +269 -0
  3. package/.tap/processinfo/04bbabba-8611-4908-9092-dfa9fcc13327.json +268 -0
  4. package/.tap/processinfo/05d8a743-3edf-4e2d-ae5a-dc99d0855ba5.json +272 -0
  5. package/.tap/processinfo/07718963-36a8-4d87-82ad-366c877a5247.json +268 -0
  6. package/.tap/processinfo/08fe3bde-5814-4308-9158-cdf1e47391b7.json +268 -0
  7. package/.tap/processinfo/0a3e3fb0-eabf-4532-ae80-20434da22678.json +268 -0
  8. package/.tap/processinfo/0caf2a75-4b3a-46c4-9b41-c7e450e5e15f.json +268 -0
  9. package/.tap/processinfo/0cf35d52-e5b2-4884-bcf0-b0ab3017b689.json +268 -0
  10. package/.tap/processinfo/0e666134-5013-4ecd-9ee6-59b22716c39c.json +268 -0
  11. package/.tap/processinfo/1087b811-4ec4-4f91-92b4-a78a51a437de.json +268 -0
  12. package/.tap/processinfo/13709ed3-b68c-42cf-8472-b0c4b8a89d2b.json +268 -0
  13. package/.tap/processinfo/13ac2f18-d0e0-439f-bc86-2ff0119af857.json +268 -0
  14. package/.tap/processinfo/13e47e0e-f6e8-4381-8a42-923b661f4a4f.json +268 -0
  15. package/.tap/processinfo/143f7d43-b8e8-4666-b482-f28fb37160ee.json +268 -0
  16. package/.tap/processinfo/14f3801d-03ab-4db3-9df5-c5d47e0a8cf0.json +270 -0
  17. package/.tap/processinfo/15a07dad-4bcd-442c-95e0-30c31f2b9818.json +273 -0
  18. package/.tap/processinfo/191ad3ad-04d8-4fb9-b119-ad2811f9b925.json +243 -0
  19. package/.tap/processinfo/1b25d54b-62d3-44cd-b581-31e705522fae.json +268 -0
  20. package/.tap/processinfo/1b7cb260-f04b-4135-a4fe-093081c4706f.json +268 -0
  21. package/.tap/processinfo/1e395d63-4815-4c77-aa47-df3709cc0ef9.json +268 -0
  22. package/.tap/processinfo/1e7f6a54-3abf-4771-863a-585cba110aec.json +268 -0
  23. package/.tap/processinfo/21a15e1d-0b41-47d8-b03d-0ba130969034.json +244 -0
  24. package/.tap/processinfo/21e02016-9ecd-4983-8417-9c74d224644f.json +269 -0
  25. package/.tap/processinfo/2327d941-d0d5-4762-b386-02a9a27ad28e.json +268 -0
  26. package/.tap/processinfo/23d39204-eac9-4f57-8db4-ffa996227fbd.json +268 -0
  27. package/.tap/processinfo/2493875a-0ac6-4d53-993c-f44471fd0678.json +268 -0
  28. package/.tap/processinfo/2698669f-f1e7-4a12-a687-8d58177be2b0.json +269 -0
  29. package/.tap/processinfo/2862b053-0a3d-46d7-9381-ffcb06287609.json +268 -0
  30. package/.tap/processinfo/2ac1b8d6-ac92-40e2-a59a-7681069f487c.json +268 -0
  31. package/.tap/processinfo/2c75e5f7-c4ef-47e4-a1c4-105eef6c0fab.json +242 -0
  32. package/.tap/processinfo/2e2c45cd-718b-4e5a-bf88-f801630f2803.json +268 -0
  33. package/.tap/processinfo/2f9ca478-3e03-4cce-a0bc-fcdc86d7c316.json +268 -0
  34. package/.tap/processinfo/30e3117f-fb74-456f-8f02-527e9eb9fcc3.json +268 -0
  35. package/.tap/processinfo/332be679-63c7-4b49-8b87-ef55995ada2d.json +268 -0
  36. package/.tap/processinfo/37c36f95-07f9-4ef0-8ab4-9e107d51b605.json +269 -0
  37. package/.tap/processinfo/3874eae2-f3db-44ef-9a9f-c8169d4b2b76.json +268 -0
  38. package/.tap/processinfo/38a7c3da-a411-41d0-8993-9deefd23500d.json +268 -0
  39. package/.tap/processinfo/3a7b6dbd-e153-4ce5-b557-21fb82009983.json +269 -0
  40. package/.tap/processinfo/3c6731ec-936d-470f-b7b0-0c87b54be051.json +268 -0
  41. package/.tap/processinfo/3c850ea9-4ef0-4044-a3fd-fbadfa9d543e.json +268 -0
  42. package/.tap/processinfo/3e4e15e0-a325-46f0-be57-5fd374560b7a.json +269 -0
  43. package/.tap/processinfo/3ed868e0-887c-402a-9f22-b1fdb74b4da0.json +268 -0
  44. package/.tap/processinfo/405498d7-5854-4ce1-a7dc-06920932f26d.json +268 -0
  45. package/.tap/processinfo/40b7eb19-ae35-4490-8a11-eb91a573c590.json +268 -0
  46. package/.tap/processinfo/40bb1260-d856-4248-8939-a0a05e322041.json +268 -0
  47. package/.tap/processinfo/41252e0b-7f69-44cc-b356-dd94bcbfdb29.json +268 -0
  48. package/.tap/processinfo/418fa710-e2fd-4508-b533-c179958da464.json +269 -0
  49. package/.tap/processinfo/433ef009-63aa-48fe-8e5d-c725228fa2fc.json +268 -0
  50. package/.tap/processinfo/44bf577c-9c01-4197-bd29-2e1ae888c4d4.json +268 -0
  51. package/.tap/processinfo/458fb7f2-20b9-48a2-8853-403c9851f605.json +268 -0
  52. package/.tap/processinfo/46b9892b-bb23-4b86-b0fa-9297f08c611a.json +268 -0
  53. package/.tap/processinfo/46bd9aaf-6cf3-4bd5-b90d-e136a7299a8e.json +268 -0
  54. package/.tap/processinfo/4779aa5f-e57a-4fcc-87e2-7d0bd4fca27f.json +268 -0
  55. package/.tap/processinfo/47b73f4b-ab31-49e1-97fd-8436dbe4bdf3.json +269 -0
  56. package/.tap/processinfo/49dba52e-e0c9-445d-8e9d-6d9ebe3ce6c4.json +268 -0
  57. package/.tap/processinfo/4b1dbc61-4e65-4c56-9784-2036f369038a.json +268 -0
  58. package/.tap/processinfo/4b6f0b40-43ef-4668-83a0-e07e28509df5.json +268 -0
  59. package/.tap/processinfo/4c236f70-f532-460b-8f7a-dd973301d493.json +268 -0
  60. package/.tap/processinfo/4d92b707-a268-48b8-885b-004d3a288c41.json +269 -0
  61. package/.tap/processinfo/4ff10bae-7c97-4c0a-b712-6c0d2f8c0e8e.json +270 -0
  62. package/.tap/processinfo/50f95bd5-ae12-4d83-99f4-ae9b0690c6a8.json +268 -0
  63. package/.tap/processinfo/557e4a49-d99c-4a63-b2f2-f33d897ab874.json +268 -0
  64. package/.tap/processinfo/589fd21a-8319-4abf-8cf7-82cb4a463a4b.json +269 -0
  65. package/.tap/processinfo/5a872f3a-949f-40be-8004-d739d034255c.json +272 -0
  66. package/.tap/processinfo/5abc301a-23da-424d-891e-3afbaff9156c.json +269 -0
  67. package/.tap/processinfo/5c31614c-a766-4837-ab59-dd6977166f72.json +253 -0
  68. package/.tap/processinfo/5d1e90c8-d819-4901-b022-f9ea4cd81978.json +268 -0
  69. package/.tap/processinfo/5d283e67-f31d-4fa8-a559-a1d8e82ee046.json +269 -0
  70. package/.tap/processinfo/5df505bc-6a4b-4c41-822f-51e2d7111de8.json +268 -0
  71. package/.tap/processinfo/5eaf64a2-fbfd-40e7-b391-c30f744b2bf1.json +269 -0
  72. package/.tap/processinfo/5ef5ede0-6436-4938-8401-d32ad4bffd5d.json +268 -0
  73. package/.tap/processinfo/606f05c0-8293-41db-bc92-eea82123697f.json +269 -0
  74. package/.tap/processinfo/6446806d-6cab-4c1d-a9ed-6bccaf3c4ea9.json +268 -0
  75. package/.tap/processinfo/64da7e08-925d-444d-98de-6568c6115d8d.json +269 -0
  76. package/.tap/processinfo/6917da6d-d2dc-466a-a893-7fb7412dde96.json +268 -0
  77. package/.tap/processinfo/69bbeee0-c398-4ccf-98b3-fb625a63bab4.json +268 -0
  78. package/.tap/processinfo/6da6ea8f-3370-4703-b230-90159531f766.json +268 -0
  79. package/.tap/processinfo/6ecffe1f-3016-4c11-9294-b488baced99f.json +268 -0
  80. package/.tap/processinfo/6f23f41f-ccbd-48cb-9ab6-311db0cfb65c.json +270 -0
  81. package/.tap/processinfo/70168912-9bb2-4334-bb89-041f1764cddf.json +268 -0
  82. package/.tap/processinfo/713a674e-40e1-46b4-866e-949d57c1a9f9.json +270 -0
  83. package/.tap/processinfo/730254d4-eacb-4cdf-80f4-8da22341cde5.json +268 -0
  84. package/.tap/processinfo/7344e559-c546-416f-8f1b-0f9fe12c6f02.json +268 -0
  85. package/.tap/processinfo/7556217a-0155-448f-b4d4-bec1bb0f6040.json +269 -0
  86. package/.tap/processinfo/7572079c-166c-4c4c-85ff-89b9430b214f.json +268 -0
  87. package/.tap/processinfo/7808180f-1974-47cd-bba2-2d6b8b711d65.json +273 -0
  88. package/.tap/processinfo/796dde83-da66-4db2-8d27-d45a3627c9c7.json +268 -0
  89. package/.tap/processinfo/7979819f-3723-48be-9f55-be700e689441.json +270 -0
  90. package/.tap/processinfo/7a664d39-d7f5-42f9-89df-15563048fab6.json +268 -0
  91. package/.tap/processinfo/7b047b72-01d9-4217-857c-93341651b4b3.json +269 -0
  92. package/.tap/processinfo/7ce41af6-7961-45ae-8c6f-b6e1c5692a48.json +268 -0
  93. package/.tap/processinfo/7e1de1c6-127e-463d-9357-081ee33ef5ce.json +269 -0
  94. package/.tap/processinfo/81ac7a7f-b0c0-4ef6-82cb-c718ea84e152.json +268 -0
  95. package/.tap/processinfo/851a058f-a497-4b10-a0b7-c9182d9c4d5a.json +268 -0
  96. package/.tap/processinfo/86502974-c245-4194-ade4-d9c6fdbb757e.json +268 -0
  97. package/.tap/processinfo/86b9786f-4a98-43b8-882a-5f936b876f08.json +241 -0
  98. package/.tap/processinfo/8a3fe726-86ab-4300-8d73-7eacbbc02a05.json +268 -0
  99. package/.tap/processinfo/8adf928b-c963-4ba0-9c35-606fcbd8a2aa.json +272 -0
  100. package/.tap/processinfo/8b31a6d8-1a33-4a27-93ca-1c5b364be068.json +240 -0
  101. package/.tap/processinfo/8ec12773-6b18-49a2-8e52-874c797df965.json +833 -0
  102. package/.tap/processinfo/8edb9502-3420-42fb-a602-e5de93be2df1.json +268 -0
  103. package/.tap/processinfo/8fc572e6-9828-4f98-a49c-9e081b2193c4.json +242 -0
  104. package/.tap/processinfo/8fee2d30-c5dd-4fae-9cf2-2ef8dd0f90de.json +834 -0
  105. package/.tap/processinfo/92cc0496-5f26-4370-8212-18136b972f99.json +268 -0
  106. package/.tap/processinfo/93a3f064-3f6e-4f49-becb-f7925f2961a9.json +268 -0
  107. package/.tap/processinfo/967e3697-8310-4a19-8dd5-927ac8bd6c79.json +269 -0
  108. package/.tap/processinfo/97225e23-9d30-4287-b3f5-72bccebec50b.json +268 -0
  109. package/.tap/processinfo/9a363bc6-4e65-47e8-94ca-26a9db428fb4.json +268 -0
  110. package/.tap/processinfo/9d2fe462-57fa-43f1-b02c-d188f15de30b.json +270 -0
  111. package/.tap/processinfo/a00b6cda-feb7-4b8a-8179-4c43bc29d670.json +269 -0
  112. package/.tap/processinfo/a017cbd5-4ac7-49e1-8c77-1bf4f6e7f2a6.json +271 -0
  113. package/.tap/processinfo/a1277309-1984-48f8-b60b-f5e8639736be.json +271 -0
  114. package/.tap/processinfo/a16bf53e-4337-48ff-88fa-67f55738e0f5.json +268 -0
  115. package/.tap/processinfo/a3a9848f-440e-41bb-9b0b-568bcfee0ddc.json +268 -0
  116. package/.tap/processinfo/a468c11f-f2f1-4e92-9ba0-6d28b6569b72.json +268 -0
  117. package/.tap/processinfo/a5880465-68f1-46b3-84a5-0da389d0bc67.json +268 -0
  118. package/.tap/processinfo/a666f394-39b4-44ad-8e74-abebf74dde3b.json +270 -0
  119. package/.tap/processinfo/af09d8ca-7053-4410-b514-b22c47f5979f.json +268 -0
  120. package/.tap/processinfo/af203309-28aa-459d-a56e-d88833695521.json +268 -0
  121. package/.tap/processinfo/afa2f7b6-dcd2-4d90-bf3c-54ba8b6800eb.json +268 -0
  122. package/.tap/processinfo/b231291d-ef14-4ff0-85f9-38a73a5408f8.json +268 -0
  123. package/.tap/processinfo/b3d3f2a1-a9fc-4d88-b122-fae90248cd59.json +268 -0
  124. package/.tap/processinfo/b834bf83-26c4-403a-8e91-eb15fe4b0b5d.json +268 -0
  125. package/.tap/processinfo/b8786fd7-47df-4ac1-8d6f-2d4c7623c681.json +268 -0
  126. package/.tap/processinfo/b9758f53-7f5a-4b03-8684-8a42ad644e5a.json +268 -0
  127. package/.tap/processinfo/bd194ea2-a21a-4604-b225-ee48abf1e607.json +242 -0
  128. package/.tap/processinfo/bd7ced53-3872-43b7-ad73-3352e50b728b.json +268 -0
  129. package/.tap/processinfo/be50295b-7e50-46cd-8bf1-637bf222699c.json +268 -0
  130. package/.tap/processinfo/bec61dd9-aa52-4e6c-8e37-5c9c10e935fd.json +268 -0
  131. package/.tap/processinfo/c015adf9-1d60-447e-87b5-b2031fe55bba.json +268 -0
  132. package/.tap/processinfo/c0666afa-7f64-45bd-97fb-145df1380157.json +268 -0
  133. package/.tap/processinfo/c2c0c012-c1c0-4457-84d6-dadba8396c94.json +268 -0
  134. package/.tap/processinfo/c3dd3ecd-737b-47ce-a917-54341c7bbed3.json +268 -0
  135. package/.tap/processinfo/c41ac06d-64b8-4bb3-bf56-0551f5a48f4b.json +268 -0
  136. package/.tap/processinfo/c4235bfb-a2aa-4271-9c6b-3ceb370219b1.json +268 -0
  137. package/.tap/processinfo/c4e6f24f-288c-493c-b6f0-02924aeb6758.json +270 -0
  138. package/.tap/processinfo/c54227bb-4a7b-40bb-bfe6-b54fe55078f3.json +268 -0
  139. package/.tap/processinfo/c699de91-3b0b-4466-9418-6910a3eb640a.json +269 -0
  140. package/.tap/processinfo/c74e2f37-451a-4577-ac18-e597fbd9a1d4.json +269 -0
  141. package/.tap/processinfo/c90cccec-5b4b-445f-a935-ac22859675d0.json +252 -0
  142. package/.tap/processinfo/c9dd6c7d-0d16-45e5-87ae-117388bf2994.json +268 -0
  143. package/.tap/processinfo/ca2e48fb-58c5-47fc-ad2e-263838aea42c.json +272 -0
  144. package/.tap/processinfo/ca87351d-c710-45c1-838a-16bccac59874.json +273 -0
  145. package/.tap/processinfo/cdb4a671-5776-4944-91b9-c456c58841ef.json +268 -0
  146. package/.tap/processinfo/cf10fdc8-6a87-447a-9e12-45f447af61f3.json +244 -0
  147. package/.tap/processinfo/cf3f1f08-643e-4f24-82ca-40f7a349c3d1.json +268 -0
  148. package/.tap/processinfo/d091172a-06a5-469b-82a9-8fefe3dd99da.json +240 -0
  149. package/.tap/processinfo/d1675431-61d6-45f8-a010-6e654112a00a.json +272 -0
  150. package/.tap/processinfo/d2d54aa2-c221-4ad4-b6b7-0c58e3c3679c.json +269 -0
  151. package/.tap/processinfo/d4f3c95a-ddbe-419d-bce0-dd6acceee21f.json +268 -0
  152. package/.tap/processinfo/d54ed8f1-43c3-478a-90d3-2c8aced723f2.json +269 -0
  153. package/.tap/processinfo/d6e5a2a6-4647-4d98-916c-aec4ace54a65.json +268 -0
  154. package/.tap/processinfo/d7280c64-45e6-4b12-affc-3ac9a5d4014a.json +268 -0
  155. package/.tap/processinfo/d82c8367-d825-4405-88df-07298f6ef840.json +269 -0
  156. package/.tap/processinfo/d8f97e53-e921-4d33-9c8d-2f7e807a9425.json +268 -0
  157. package/.tap/processinfo/da546a73-9714-4f8c-bdbb-e42730edbcfa.json +268 -0
  158. package/.tap/processinfo/da7fb7fb-1da4-49f8-a3ee-d4ea623c01a5.json +268 -0
  159. package/.tap/processinfo/daa6a016-4f0c-4050-923c-2022e0bb21d8.json +268 -0
  160. package/.tap/processinfo/db9a251d-8540-4719-b464-e7d5febd97d1.json +240 -0
  161. package/.tap/processinfo/dc10c603-8e58-4611-baa3-44da2578d07a.json +268 -0
  162. package/.tap/processinfo/dde56c1a-858c-47cc-b0bb-61279620ac17.json +268 -0
  163. package/.tap/processinfo/e0d9c4ea-f7c7-4c64-8ced-66dc6f0ac5d2.json +271 -0
  164. package/.tap/processinfo/e121454f-5dfa-4209-ba15-4c39840871f2.json +831 -0
  165. package/.tap/processinfo/e1f43e40-c3fe-4eb8-a713-d5910cc6b25a.json +268 -0
  166. package/.tap/processinfo/e4575e7a-f00e-488b-94e1-8f877b54725e.json +268 -0
  167. package/.tap/processinfo/e9ad667e-8603-4488-af64-449cc9532803.json +268 -0
  168. package/.tap/processinfo/eb26a697-e5e2-4730-aeea-bcb9c49afd4d.json +268 -0
  169. package/.tap/processinfo/eb29d1c3-feaf-4744-9d84-cf257e8269b0.json +268 -0
  170. package/.tap/processinfo/ee720c0a-ed64-4e7e-8c0a-139c7b9725d2.json +268 -0
  171. package/.tap/processinfo/ef88c13a-87b2-49e4-a683-7b812505cd6f.json +268 -0
  172. package/.tap/processinfo/f4ed6948-dac0-4128-9f86-d083b6918ea7.json +268 -0
  173. package/.tap/processinfo/f7544c01-8ac7-4e42-8ad5-c4d62e094d1f.json +270 -0
  174. package/.tap/processinfo/f7cee4b3-7bcc-4591-a628-5629b0b41c9e.json +268 -0
  175. package/.tap/processinfo/f9c0a1f7-c1a4-44d3-ae3f-8c1eb42cd746.json +269 -0
  176. package/.tap/processinfo/fc46b4da-79db-4201-af7e-34bb17f92d69.json +270 -0
  177. package/.tap/processinfo/fccc0056-03c4-40cb-9d0b-2db4bbe573c1.json +268 -0
  178. package/.tap/processinfo/fd2df572-54d7-4ce7-b7aa-a2b4b00d4127.json +254 -0
  179. package/.tap/processinfo/fea9377f-b473-484d-bee6-ac7f49e50937.json +269 -0
  180. package/.tap/processinfo/feb516dc-abda-46e6-9b42-d37adfc63366.json +268 -0
  181. package/.tap/processinfo/ff0fda4c-aa2e-4236-906e-fdfb6bd6632e.json +269 -0
  182. package/.tap/test-results/test/404s.test.js.tap +623 -0
  183. package/.tap/test-results/test/500s.test.js.tap +64 -0
  184. package/.tap/test-results/test/allowUnsafeRegex.test.js.tap +36 -0
  185. package/.tap/test-results/test/als.test.js.tap +15 -0
  186. package/.tap/test-results/test/async-await.test.js.tap +184 -0
  187. package/.tap/test-results/test/async-dispose.test.js.tap +8 -0
  188. package/.tap/test-results/test/async_hooks.test.js.tap +10 -0
  189. package/.tap/test-results/test/bodyLimit.test.js.tap +48 -0
  190. package/.tap/test-results/test/buffer.test.js.tap +20 -0
  191. package/.tap/test-results/test/build/error-serializer.test.js.tap +8 -0
  192. package/.tap/test-results/test/build/version.test.js.tap +7 -0
  193. package/.tap/test-results/test/case-insensitive.test.js.tap +36 -0
  194. package/.tap/test-results/test/chainable.test.js.tap +17 -0
  195. package/.tap/test-results/test/check.test.js.tap +10 -0
  196. package/.tap/test-results/test/childLoggerFactory.test.js.tap +23 -0
  197. package/.tap/test-results/test/client-timeout.test.js.tap +7 -0
  198. package/.tap/test-results/test/close-pipelining.test.js.tap +15 -0
  199. package/.tap/test-results/test/close.test.js.tap +172 -0
  200. package/.tap/test-results/test/connectionTimeout.test.js.tap +12 -0
  201. package/.tap/test-results/test/constrained-routes.test.js.tap +173 -0
  202. package/.tap/test-results/test/content-length.test.js.tap +46 -0
  203. package/.tap/test-results/test/content-parser.test.js.tap +266 -0
  204. package/.tap/test-results/test/content-type.test.js.tap +14 -0
  205. package/.tap/test-results/test/context-config.test.js.tap +41 -0
  206. package/.tap/test-results/test/copy.test.js.tap +14 -0
  207. package/.tap/test-results/test/custom-http-server.test.js.tap +30 -0
  208. package/.tap/test-results/test/custom-parser-async.test.js.tap +21 -0
  209. package/.tap/test-results/test/custom-parser.0.test.js.tap +199 -0
  210. package/.tap/test-results/test/custom-parser.1.test.js.tap +90 -0
  211. package/.tap/test-results/test/custom-parser.2.test.js.tap +22 -0
  212. package/.tap/test-results/test/custom-parser.3.test.js.tap +53 -0
  213. package/.tap/test-results/test/custom-parser.4.test.js.tap +45 -0
  214. package/.tap/test-results/test/custom-parser.5.test.js.tap +41 -0
  215. package/.tap/test-results/test/custom-querystring-parser.test.js.tap +46 -0
  216. package/.tap/test-results/test/decorator.test.js.tap +465 -0
  217. package/.tap/test-results/test/delete.test.js.tap +110 -0
  218. package/.tap/test-results/test/diagnostics-channel/404.test.js.tap +15 -0
  219. package/.tap/test-results/test/diagnostics-channel/async-delay-request.test.js.tap +25 -0
  220. package/.tap/test-results/test/diagnostics-channel/async-request.test.js.tap +24 -0
  221. package/.tap/test-results/test/diagnostics-channel/error-before-handler.test.js.tap +9 -0
  222. package/.tap/test-results/test/diagnostics-channel/error-request.test.js.tap +20 -0
  223. package/.tap/test-results/test/diagnostics-channel/error-status.test.js.tap +10 -0
  224. package/.tap/test-results/test/diagnostics-channel/init.test.js.tap +14 -0
  225. package/.tap/test-results/test/diagnostics-channel/sync-delay-request.test.js.tap +16 -0
  226. package/.tap/test-results/test/diagnostics-channel/sync-request-reply.test.js.tap +16 -0
  227. package/.tap/test-results/test/diagnostics-channel/sync-request.test.js.tap +19 -0
  228. package/.tap/test-results/test/encapsulated-child-logger-factory.test.js.tap +18 -0
  229. package/.tap/test-results/test/encapsulated-error-handler.test.js.tap +243 -0
  230. package/.tap/test-results/test/esm/errorCodes.test.mjs.tap +9 -0
  231. package/.tap/test-results/test/esm/esm.test.mjs.tap +8 -0
  232. package/.tap/test-results/test/esm/index.test.js.tap +8 -0
  233. package/.tap/test-results/test/fastify-instance.test.js.tap +114 -0
  234. package/.tap/test-results/test/findRoute.test.js.tap +37 -0
  235. package/.tap/test-results/test/fluent-schema.test.js.tap +36 -0
  236. package/.tap/test-results/test/genReqId.test.js.tap +106 -0
  237. package/.tap/test-results/test/get.test.js.tap +151 -0
  238. package/.tap/test-results/test/handler-context.test.js.tap +19 -0
  239. package/.tap/test-results/test/has-route.test.js.tap +30 -0
  240. package/.tap/test-results/test/head.test.js.tap +130 -0
  241. package/.tap/test-results/test/header-overflow.test.js.tap +16 -0
  242. package/.tap/test-results/test/hooks-async.test.js.tap +286 -0
  243. package/.tap/test-results/test/hooks.on-listen.test.js.tap +311 -0
  244. package/.tap/test-results/test/hooks.on-ready.test.js.tap +151 -0
  245. package/.tap/test-results/test/hooks.test.js.tap +966 -0
  246. package/.tap/test-results/test/http2/closing.test.js.tap +35 -0
  247. package/.tap/test-results/test/http2/constraint.test.js.tap +32 -0
  248. package/.tap/test-results/test/http2/head.test.js.tap +9 -0
  249. package/.tap/test-results/test/http2/missing-http2-module.test.js.tap +8 -0
  250. package/.tap/test-results/test/http2/plain.test.js.tap +22 -0
  251. package/.tap/test-results/test/http2/secure-with-fallback.test.js.tap +40 -0
  252. package/.tap/test-results/test/http2/secure.test.js.tap +27 -0
  253. package/.tap/test-results/test/http2/unknown-http-method.test.js.tap +9 -0
  254. package/.tap/test-results/test/https/custom-https-server.test.js.tap +10 -0
  255. package/.tap/test-results/test/https/https.test.js.tap +45 -0
  256. package/.tap/test-results/test/imports.test.js.tap +14 -0
  257. package/.tap/test-results/test/inject.test.js.tap +165 -0
  258. package/.tap/test-results/test/internals/all.test.js.tap +42 -0
  259. package/.tap/test-results/test/internals/contentTypeParser.test.js.tap +14 -0
  260. package/.tap/test-results/test/internals/context.test.js.tap +14 -0
  261. package/.tap/test-results/test/internals/decorator.test.js.tap +51 -0
  262. package/.tap/test-results/test/internals/errors.test.js.tap +1212 -0
  263. package/.tap/test-results/test/internals/handleRequest.test.js.tap +69 -0
  264. package/.tap/test-results/test/internals/hookRunner.test.js.tap +143 -0
  265. package/.tap/test-results/test/internals/hooks.test.js.tap +45 -0
  266. package/.tap/test-results/test/internals/initialConfig.test.js.tap +125 -0
  267. package/.tap/test-results/test/internals/logger.test.js.tap +71 -0
  268. package/.tap/test-results/test/internals/plugin.test.js.tap +48 -0
  269. package/.tap/test-results/test/internals/reply-serialize.test.js.tap +166 -0
  270. package/.tap/test-results/test/internals/reply.test.js.tap +688 -0
  271. package/.tap/test-results/test/internals/reqIdGenFactory.test.js.tap +74 -0
  272. package/.tap/test-results/test/internals/request-validate.test.js.tap +384 -0
  273. package/.tap/test-results/test/internals/request.test.js.tap +163 -0
  274. package/.tap/test-results/test/internals/server.test.js.tap +30 -0
  275. package/.tap/test-results/test/internals/validation.test.js.tap +121 -0
  276. package/.tap/test-results/test/keepAliveTimeout.test.js.tap +12 -0
  277. package/.tap/test-results/test/listen.1.test.js.tap +31 -0
  278. package/.tap/test-results/test/listen.2.test.js.tap +46 -0
  279. package/.tap/test-results/test/listen.3.test.js.tap +25 -0
  280. package/.tap/test-results/test/listen.4.test.js.tap +51 -0
  281. package/.tap/test-results/test/lock.test.js.tap +29 -0
  282. package/.tap/test-results/test/logger/instantiation.test.js.tap +92 -0
  283. package/.tap/test-results/test/logger/logging.test.js.tap +117 -0
  284. package/.tap/test-results/test/logger/options.test.js.tap +165 -0
  285. package/.tap/test-results/test/logger/request.test.js.tap +82 -0
  286. package/.tap/test-results/test/logger/response.test.js.tap +38 -0
  287. package/.tap/test-results/test/maxRequestsPerSocket.test.js.tap +44 -0
  288. package/.tap/test-results/test/method-missing.test.js.tap +8 -0
  289. package/.tap/test-results/test/middleware.test.js.tap +17 -0
  290. package/.tap/test-results/test/mkcalendar.test.js.tap +43 -0
  291. package/.tap/test-results/test/mkcol.test.js.tap +14 -0
  292. package/.tap/test-results/test/move.test.js.tap +15 -0
  293. package/.tap/test-results/test/noop-set.test.js.tap +8 -0
  294. package/.tap/test-results/test/nullable-validation.test.js.tap +36 -0
  295. package/.tap/test-results/test/options.error-handler.test.js.tap +186 -0
  296. package/.tap/test-results/test/options.test.js.tap +174 -0
  297. package/.tap/test-results/test/output-validation.test.js.tap +66 -0
  298. package/.tap/test-results/test/patch.error-handler.test.js.tap +206 -0
  299. package/.tap/test-results/test/patch.test.js.tap +182 -0
  300. package/.tap/test-results/test/plugin.1.test.js.tap +78 -0
  301. package/.tap/test-results/test/plugin.2.test.js.tap +102 -0
  302. package/.tap/test-results/test/plugin.3.test.js.tap +58 -0
  303. package/.tap/test-results/test/plugin.4.test.js.tap +164 -0
  304. package/.tap/test-results/test/post-empty-body.test.js.tap +8 -0
  305. package/.tap/test-results/test/pretty-print.test.js.tap +82 -0
  306. package/.tap/test-results/test/promises.test.js.tap +46 -0
  307. package/.tap/test-results/test/propfind.test.js.tap +43 -0
  308. package/.tap/test-results/test/proppatch.test.js.tap +29 -0
  309. package/.tap/test-results/test/proto-poisoning.test.js.tap +47 -0
  310. package/.tap/test-results/test/put.error-handler.test.js.tap +206 -0
  311. package/.tap/test-results/test/put.test.js.tap +182 -0
  312. package/.tap/test-results/test/register.test.js.tap +61 -0
  313. package/.tap/test-results/test/reply-code.test.js.tap +40 -0
  314. package/.tap/test-results/test/reply-earlyHints.test.js.tap +22 -0
  315. package/.tap/test-results/test/reply-error.test.js.tap +643 -0
  316. package/.tap/test-results/test/reply-trailers.test.js.tap +176 -0
  317. package/.tap/test-results/test/report.test.js.tap +43 -0
  318. package/.tap/test-results/test/request-error.test.js.tap +98 -0
  319. package/.tap/test-results/test/request-id.test.js.tap +38 -0
  320. package/.tap/test-results/test/request.deprecated.test.js.tap +13 -0
  321. package/.tap/test-results/test/requestTimeout.test.js.tap +21 -0
  322. package/.tap/test-results/test/route-hooks.test.js.tap +498 -0
  323. package/.tap/test-results/test/route-prefix.test.js.tap +195 -0
  324. package/.tap/test-results/test/route-shorthand.test.js.tap +190 -0
  325. package/.tap/test-results/test/route.1.test.js.tap +93 -0
  326. package/.tap/test-results/test/route.2.test.js.tap +28 -0
  327. package/.tap/test-results/test/route.3.test.js.tap +39 -0
  328. package/.tap/test-results/test/route.4.test.js.tap +32 -0
  329. package/.tap/test-results/test/route.5.test.js.tap +54 -0
  330. package/.tap/test-results/test/route.6.test.js.tap +81 -0
  331. package/.tap/test-results/test/route.7.test.js.tap +93 -0
  332. package/.tap/test-results/test/route.8.test.js.tap +38 -0
  333. package/.tap/test-results/test/router-options.test.js.tap +104 -0
  334. package/.tap/test-results/test/same-shape.test.js.tap +22 -0
  335. package/.tap/test-results/test/schema-examples.test.js.tap +85 -0
  336. package/.tap/test-results/test/schema-feature.test.js.tap +445 -0
  337. package/.tap/test-results/test/schema-serialization.test.js.tap +194 -0
  338. package/.tap/test-results/test/schema-special-usage.test.js.tap +186 -0
  339. package/.tap/test-results/test/schema-validation.test.js.tap +199 -0
  340. package/.tap/test-results/test/search.test.js.tap +77 -0
  341. package/.tap/test-results/test/serialize-response.test.js.tap +26 -0
  342. package/.tap/test-results/test/server.test.js.tap +65 -0
  343. package/.tap/test-results/test/set-error-handler.test.js.tap +7 -0
  344. package/.tap/test-results/test/skip-reply-send.test.js.tap +272 -0
  345. package/.tap/test-results/test/stream.1.test.js.tap +36 -0
  346. package/.tap/test-results/test/stream.2.test.js.tap +20 -0
  347. package/.tap/test-results/test/stream.3.test.js.tap +34 -0
  348. package/.tap/test-results/test/stream.4.test.js.tap +40 -0
  349. package/.tap/test-results/test/stream.5.test.js.tap +37 -0
  350. package/.tap/test-results/test/sync-routes.test.js.tap +19 -0
  351. package/.tap/test-results/test/throw.test.js.tap +116 -0
  352. package/.tap/test-results/test/trace.test.js.tap +7 -0
  353. package/.tap/test-results/test/trust-proxy.test.js.tap +109 -0
  354. package/.tap/test-results/test/type-provider.test.js.tap +12 -0
  355. package/.tap/test-results/test/unlock.test.js.tap +14 -0
  356. package/.tap/test-results/test/upgrade.test.js.tap +8 -0
  357. package/.tap/test-results/test/url-rewriting.test.js.tap +39 -0
  358. package/.tap/test-results/test/useSemicolonDelimiter.test.js.tap +33 -0
  359. package/.tap/test-results/test/validation-error-handling.test.js.tap +180 -0
  360. package/.tap/test-results/test/versioned-routes.test.js.tap +151 -0
  361. package/.tap/test-results/test/web-api.test.js.tap +51 -0
  362. package/.tap/test-results/test/wrapThenable.test.js.tap +11 -0
  363. package/.taprc +1 -0
  364. package/README.md +4 -0
  365. package/SPONSORS.md +1 -1
  366. package/docs/Guides/Database.md +2 -2
  367. package/docs/Guides/Delay-Accepting-Requests.md +1 -1
  368. package/docs/Guides/Detecting-When-Clients-Abort.md +6 -4
  369. package/docs/Guides/Ecosystem.md +21 -11
  370. package/docs/Guides/Getting-Started.md +2 -0
  371. package/docs/Guides/Plugins-Guide.md +1 -1
  372. package/docs/Guides/Prototype-Poisoning.md +1 -1
  373. package/docs/Reference/Errors.md +2 -3
  374. package/docs/Reference/Hooks.md +5 -3
  375. package/docs/Reference/LTS.md +32 -20
  376. package/docs/Reference/Logging.md +1 -1
  377. package/docs/Reference/Reply.md +8 -8
  378. package/docs/Reference/Request.md +2 -2
  379. package/docs/Reference/Routes.md +3 -2
  380. package/docs/Reference/Server.md +11 -5
  381. package/docs/Reference/Type-Providers.md +10 -4
  382. package/docs/Reference/TypeScript.md +25 -24
  383. package/docs/Reference/Validation-and-Serialization.md +1 -1
  384. package/docs/Reference/Warnings.md +2 -0
  385. package/fastify.js +3 -4
  386. package/lib/error-handler.js +34 -21
  387. package/lib/error-serializer.js +75 -18
  388. package/lib/fourOhFour.js +5 -3
  389. package/lib/handleRequest.js +2 -1
  390. package/lib/httpMethods.js +3 -1
  391. package/lib/reply.js +10 -4
  392. package/lib/route.js +5 -1
  393. package/lib/warnings.js +6 -0
  394. package/lib/wrapThenable.js +2 -0
  395. package/package.json +3 -3
  396. package/test/404s.test.js +2 -2
  397. package/test/500s.test.js +32 -0
  398. package/test/close-pipelining.test.js +11 -4
  399. package/test/close.test.js +1 -1
  400. package/test/encapsulated-error-handler.test.js +1 -1
  401. package/test/esm/errorCodes.test.mjs +10 -0
  402. package/test/esm/named-exports.mjs +1 -0
  403. package/test/esm/other.mjs +1 -0
  404. package/test/esm/plugin.mjs +1 -0
  405. package/test/has-route.test.js +17 -1
  406. package/test/hooks.test.js +2 -2
  407. package/test/internals/handleRequest.test.js +2 -2
  408. package/test/internals/reply.test.js +33 -3
  409. package/test/lock.test.js +43 -10
  410. package/test/logger/instantiation.test.js +1 -1
  411. package/test/logger/logging.test.js +37 -16
  412. package/test/logger/options.test.js +1 -1
  413. package/test/mkcalendar.test.js +165 -0
  414. package/test/propfind.test.js +40 -8
  415. package/test/proppatch.test.js +48 -18
  416. package/test/report.test.js +161 -0
  417. package/test/schema-examples.test.js +1 -1
  418. package/test/schema-feature.test.js +6 -6
  419. package/test/schema-serialization.test.js +2 -2
  420. package/test/schema-special-usage.test.js +1 -1
  421. package/test/skip-reply-send.test.js +1 -1
  422. package/test/stream.5.test.js +2 -2
  423. package/test/types/instance.test-d.ts +1 -1
  424. package/test/types/reply.test-d.ts +3 -3
  425. package/test/types/request.test-d.ts +2 -2
  426. package/test/types/type-provider.test-d.ts +9 -5
  427. package/types/reply.d.ts +10 -6
  428. package/types/request.d.ts +2 -2
  429. package/types/route.d.ts +26 -26
  430. package/types/type-provider.d.ts +1 -1
  431. package/types/utils.d.ts +6 -1
  432. /package/test/esm/{esm.mjs → esm.test.mjs} +0 -0
@@ -0,0 +1,688 @@
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