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,623 @@
1
+ TAP version 14
2
+ # Subtest: default 404
3
+ 1..5
4
+ ok 1 - should not error
5
+ # Subtest: unsupported method
6
+ 1..3
7
+ ok 1 - should not error
8
+ ok 2 - should be equal
9
+ ok 3 - should be equal
10
+ ok 2 - unsupported method # time=9.532ms
11
+
12
+ # Subtest: framework-unsupported method
13
+ 1..3
14
+ ok 1 - should not error
15
+ ok 2 - should be equal
16
+ ok 3 - should be equal
17
+ ok 3 - framework-unsupported method # time=2.322ms
18
+
19
+ # Subtest: unsupported route
20
+ 1..3
21
+ ok 1 - should not error
22
+ ok 2 - should be equal
23
+ ok 3 - should be equal
24
+ ok 4 - unsupported route # time=1.37ms
25
+
26
+ # Subtest: using post method and multipart/formdata
27
+ 1..3
28
+ ok 1 - should not error
29
+ ok 2 - should be equal
30
+ ok 3 - should be equal
31
+ ok 5 - using post method and multipart/formdata # time=2.364ms
32
+
33
+ ok 1 - default 404 # time=53.264ms
34
+
35
+ # Subtest: customized 404
36
+ 1..6
37
+ ok 1 - should not error
38
+ # Subtest: unsupported method
39
+ 1..3
40
+ ok 1 - should not error
41
+ ok 2 - should be equal
42
+ ok 3 - should be equal
43
+ ok 2 - unsupported method # time=2.857ms
44
+
45
+ # Subtest: framework-unsupported method
46
+ 1..3
47
+ ok 1 - should not error
48
+ ok 2 - should be equal
49
+ ok 3 - should be equal
50
+ ok 3 - framework-unsupported method # time=2.251ms
51
+
52
+ # Subtest: unsupported route
53
+ 1..3
54
+ ok 1 - should not error
55
+ ok 2 - should be equal
56
+ ok 3 - should be equal
57
+ ok 4 - unsupported route # time=2.636ms
58
+
59
+ # Subtest: with error object
60
+ 1..3
61
+ ok 1 - should not error
62
+ ok 2 - should be equal
63
+ ok 3 - should be equivalent
64
+ ok 5 - with error object # time=2.354ms
65
+
66
+ # Subtest: error object with headers property
67
+ 1..4
68
+ ok 1 - should not error
69
+ ok 2 - should be equal
70
+ ok 3 - should be equal
71
+ ok 4 - should be equivalent
72
+ ok 6 - error object with headers property # time=1.976ms
73
+
74
+ ok 2 - customized 404 # time=18.45ms
75
+
76
+ # Subtest: custom header in notFound handler
77
+ 1..2
78
+ ok 1 - should not error
79
+ # Subtest: not found with custom header
80
+ 1..4
81
+ ok 1 - should not error
82
+ ok 2 - should be equal
83
+ ok 3 - should be equal
84
+ ok 4 - should be equal
85
+ ok 2 - not found with custom header # time=1.465ms
86
+
87
+ ok 3 - custom header in notFound handler # time=6.612ms
88
+
89
+ # Subtest: setting a custom 404 handler multiple times is an error
90
+ 1..5
91
+ # Subtest: at the root level
92
+ 1..2
93
+ ok 1 - type is Error
94
+ ok 2 - should be equal
95
+ ok 1 - at the root level # time=0.812ms
96
+
97
+ # Subtest: at the plugin level
98
+ 1..3
99
+ ok 1 - type is Error
100
+ ok 2 - should be equal
101
+ ok 3 - should not error
102
+ ok 2 - at the plugin level # time=10.358ms
103
+
104
+ # Subtest: at multiple levels
105
+ 1..3
106
+ ok 1 - type is Error
107
+ ok 2 - should be equal
108
+ ok 3 - should not error
109
+ ok 3 - at multiple levels # time=7.263ms
110
+
111
+ # Subtest: at multiple levels / 2
112
+ 1..3
113
+ ok 1 - type is Error
114
+ ok 2 - should be equal
115
+ ok 3 - should not error
116
+ ok 4 - at multiple levels / 2 # time=5.078ms
117
+
118
+ # Subtest: in separate plugins at the same level
119
+ 1..3
120
+ ok 1 - type is Error
121
+ ok 2 - should be equal
122
+ ok 3 - should not error
123
+ ok 5 - in separate plugins at the same level # time=6.002ms
124
+
125
+ ok 4 - setting a custom 404 handler multiple times is an error # time=35.327ms
126
+
127
+ # Subtest: encapsulated 404
128
+ 1..13
129
+ ok 1 - should not error
130
+ # Subtest: root unsupported method
131
+ 1..3
132
+ ok 1 - should not error
133
+ ok 2 - should be equal
134
+ ok 3 - should be equal
135
+ ok 2 - root unsupported method # time=2.571ms
136
+
137
+ # Subtest: root framework-unsupported method
138
+ 1..3
139
+ ok 1 - should not error
140
+ ok 2 - should be equal
141
+ ok 3 - should be equal
142
+ ok 3 - root framework-unsupported method # time=1.398ms
143
+
144
+ # Subtest: root unsupported route
145
+ 1..3
146
+ ok 1 - should not error
147
+ ok 2 - should be equal
148
+ ok 3 - should be equal
149
+ ok 4 - root unsupported route # time=0.763ms
150
+
151
+ # Subtest: unsupported method
152
+ 1..3
153
+ ok 1 - should not error
154
+ ok 2 - should be equal
155
+ ok 3 - should be equal
156
+ ok 5 - unsupported method # time=6.298ms
157
+
158
+ # Subtest: framework-unsupported method
159
+ 1..3
160
+ ok 1 - should not error
161
+ ok 2 - should be equal
162
+ ok 3 - should be equal
163
+ ok 6 - framework-unsupported method # time=1.458ms
164
+
165
+ # Subtest: unsupported route
166
+ 1..3
167
+ ok 1 - should not error
168
+ ok 2 - should be equal
169
+ ok 3 - should be equal
170
+ ok 7 - unsupported route # time=2.971ms
171
+
172
+ # Subtest: unsupported method 2
173
+ 1..3
174
+ ok 1 - should not error
175
+ ok 2 - should be equal
176
+ ok 3 - should be equal
177
+ ok 8 - unsupported method 2 # time=1.274ms
178
+
179
+ # Subtest: framework-unsupported method 2
180
+ 1..3
181
+ ok 1 - should not error
182
+ ok 2 - should be equal
183
+ ok 3 - should be equal
184
+ ok 9 - framework-unsupported method 2 # time=0.93ms
185
+
186
+ # Subtest: unsupported route 2
187
+ 1..3
188
+ ok 1 - should not error
189
+ ok 2 - should be equal
190
+ ok 3 - should be equal
191
+ ok 10 - unsupported route 2 # time=2.264ms
192
+
193
+ # Subtest: unsupported method 3
194
+ 1..3
195
+ ok 1 - should not error
196
+ ok 2 - should be equal
197
+ ok 3 - should be equal
198
+ ok 11 - unsupported method 3 # time=3.582ms
199
+
200
+ # Subtest: framework-unsupported method 3
201
+ 1..3
202
+ ok 1 - should not error
203
+ ok 2 - should be equal
204
+ ok 3 - should be equal
205
+ ok 12 - framework-unsupported method 3 # time=2.953ms
206
+
207
+ # Subtest: unsupported route 3
208
+ 1..3
209
+ ok 1 - should not error
210
+ ok 2 - should be equal
211
+ ok 3 - should be equal
212
+ ok 13 - unsupported route 3 # time=1.975ms
213
+
214
+ ok 5 - encapsulated 404 # time=41.532ms
215
+
216
+ # Subtest: custom 404 hook and handler context
217
+ 1..21
218
+ ok 1 - should be equal
219
+ ok 2 - should be equal
220
+ ok 3 - should be equal
221
+ ok 4 - should be equal
222
+ ok 5 - should be equal
223
+ ok 6 - should be equal
224
+ ok 7 - should be equal
225
+ ok 8 - should be equal
226
+ ok 9 - should be equal
227
+ ok 10 - should be equal
228
+ ok 11 - should be equal
229
+ ok 12 - should be equal
230
+ ok 13 - should be equal
231
+ ok 14 - should be equal
232
+ ok 15 - should be equal
233
+ ok 16 - should not error
234
+ ok 17 - should be equal
235
+ ok 18 - should be equal
236
+ ok 19 - should not error
237
+ ok 20 - should be equal
238
+ ok 21 - should be equal
239
+ ok 6 - custom 404 hook and handler context # time=8.487ms
240
+
241
+ # Subtest: encapsulated custom 404 without - prefix hook and handler context
242
+ 1..13
243
+ ok 1 - should be equal
244
+ ok 2 - should be equal
245
+ ok 3 - should be equal
246
+ ok 4 - should be equal
247
+ ok 5 - should be equal
248
+ ok 6 - should be equal
249
+ ok 7 - should be equal
250
+ ok 8 - should be equal
251
+ ok 9 - should be equal
252
+ ok 10 - should be equal
253
+ ok 11 - should not error
254
+ ok 12 - should be equal
255
+ ok 13 - should be equal
256
+ ok 7 - encapsulated custom 404 without - prefix hook and handler context # time=2.087ms
257
+
258
+ # Subtest: run hooks on default 404
259
+ 1..7
260
+ ok 1 - should not error
261
+ ok 2 - onRequest called
262
+ ok 3 - preHandler called
263
+ ok 4 - onSend called
264
+ ok 5 - onResponse called
265
+ ok 6 - should not error
266
+ ok 7 - should be equal
267
+ ok 8 - run hooks on default 404 # time=16.279ms
268
+
269
+ # Subtest: run non-encapsulated plugin hooks on default 404
270
+ 1..6
271
+ ok 1 - onRequest called
272
+ ok 2 - preHandler called
273
+ ok 3 - onSend called
274
+ ok 4 - onResponse called
275
+ ok 5 - should not error
276
+ ok 6 - should be equal
277
+ ok 9 - run non-encapsulated plugin hooks on default 404 # time=2.64ms
278
+
279
+ # Subtest: run non-encapsulated plugin hooks on custom 404
280
+ 1..11
281
+ ok 1 - onRequest called
282
+ ok 2 - onRequest called
283
+ ok 3 - preHandler called
284
+ ok 4 - preHandler called
285
+ ok 5 - onSend called
286
+ ok 6 - onSend called
287
+ ok 7 - onResponse called
288
+ ok 8 - onResponse called
289
+ ok 9 - should not error
290
+ ok 10 - should be equal
291
+ ok 11 - should be equal
292
+ ok 10 - run non-encapsulated plugin hooks on custom 404 # time=4.437ms
293
+
294
+ # Subtest: run hook with encapsulated 404
295
+ 1..11
296
+ ok 1 - should not error
297
+ ok 2 - onRequest called
298
+ ok 3 - onRequest 2 called
299
+ ok 4 - preHandler called
300
+ ok 5 - preHandler 2 called
301
+ ok 6 - onSend called
302
+ ok 7 - onSend 2 called
303
+ ok 8 - onResponse called
304
+ ok 9 - onResponse 2 called
305
+ ok 10 - should not error
306
+ ok 11 - should be equal
307
+ ok 11 - run hook with encapsulated 404 # time=10.232ms
308
+
309
+ # Subtest: run hook with encapsulated 404 and framework-unsupported method
310
+ 1..11
311
+ ok 1 - should not error
312
+ ok 2 - onRequest called
313
+ ok 3 - onRequest 2 called
314
+ ok 4 - preHandler called
315
+ ok 5 - preHandler 2 called
316
+ ok 6 - onSend called
317
+ ok 7 - onSend 2 called
318
+ ok 8 - onResponse called
319
+ ok 9 - onResponse 2 called
320
+ ok 10 - should not error
321
+ ok 11 - should be equal
322
+ ok 12 - run hook with encapsulated 404 and framework-unsupported method # time=9.571ms
323
+
324
+ # Subtest: hooks check 404
325
+ 1..13
326
+ ok 1 - should not error
327
+ ok 2 - onRequest
328
+ ok 3 - should be equivalent
329
+ ok 4 - onSend
330
+ ok 5 - onResponse
331
+ ok 6 - should not error
332
+ ok 7 - should be equal
333
+ ok 8 - onRequest
334
+ ok 9 - should be equivalent
335
+ ok 10 - onSend
336
+ ok 11 - onResponse
337
+ ok 12 - should not error
338
+ ok 13 - should be equal
339
+ ok 13 - hooks check 404 # time=6.445ms
340
+
341
+ # Subtest: setNotFoundHandler should not suppress duplicated routes checking
342
+ 1..1
343
+ ok 1 - should be equal
344
+ ok 14 - setNotFoundHandler should not suppress duplicated routes checking # time=1.591ms
345
+
346
+ # Subtest: log debug for 404
347
+ 1..1
348
+ # Subtest: log debug
349
+ 1..7
350
+ ok 1 - should not error
351
+ ok 2 - should be equal
352
+ ok 3 - should be equal
353
+ ok 4 - should be equal
354
+ ok 5 - should be equal
355
+ ok 6 - should be equal
356
+ ok 7 - should be equal
357
+ ok 1 - log debug # time=9.533ms
358
+
359
+ ok 15 - log debug for 404 # time=12.137ms
360
+
361
+ # Subtest: Unknown method
362
+ 1..5
363
+ ok 1 - should not error
364
+ ok 2 - expected to throw
365
+ ok 3 - should not error
366
+ ok 4 - should be equal
367
+ ok 5 - should be equivalent strictly
368
+ ok 16 - Unknown method # time=6.114ms
369
+
370
+ # Subtest: recognizes errors from the http-errors module
371
+ 1..5
372
+ ok 1 - should not error
373
+ ok 2 - should not error
374
+ ok 3 - should be equal
375
+ ok 4 - should not error
376
+ ok 5 - should be equivalent strictly
377
+ ok 17 - recognizes errors from the http-errors module # time=5.998ms
378
+
379
+ # Subtest: the default 404 handler can be invoked inside a prefixed plugin
380
+ 1..3
381
+ ok 1 - should not error
382
+ ok 2 - should be equal
383
+ ok 3 - should be equivalent strictly
384
+ ok 18 - the default 404 handler can be invoked inside a prefixed plugin # time=1.953ms
385
+
386
+ # Subtest: an inherited custom 404 handler can be invoked inside a prefixed plugin
387
+ 1..3
388
+ ok 1 - should not error
389
+ ok 2 - should be equal
390
+ ok 3 - should be equivalent
391
+ ok 19 - an inherited custom 404 handler can be invoked inside a prefixed plugin # time=1.735ms
392
+
393
+ # Subtest: encapsulated custom 404 handler without a prefix is the handler for the entire 404 level
394
+ 1..6
395
+ ok 1 - should not error
396
+ ok 2 - should be equal
397
+ ok 3 - should be equal
398
+ ok 4 - should not error
399
+ ok 5 - should be equal
400
+ ok 6 - should be equal
401
+ ok 20 - encapsulated custom 404 handler without a prefix is the handler for the entire 404 level # time=4.485ms
402
+
403
+ # Subtest: cannot set notFoundHandler after binding
404
+ 1..2
405
+ ok 1 - should not error
406
+ ok 2 - (unnamed test)
407
+ ok 21 - cannot set notFoundHandler after binding # time=4.147ms
408
+
409
+ # Subtest: 404 inside onSend
410
+ 1..3
411
+ ok 1 - should not error
412
+ ok 2 - should not error
413
+ ok 3 - should be equal
414
+ ok 22 - 404 inside onSend # time=9.811ms
415
+
416
+ # Subtest: onSend hooks run when an encapsulated route invokes the notFound handler
417
+ 1..3
418
+ ok 1 - onSend hook called
419
+ ok 2 - should not error
420
+ ok 3 - should be equal
421
+ ok 23 - onSend hooks run when an encapsulated route invokes the notFound handler # time=1.791ms
422
+
423
+ # Subtest: preHandler option for setNotFoundHandler
424
+ 1..10
425
+ # Subtest: preHandler option
426
+ 1..2
427
+ ok 1 - should not error
428
+ ok 2 - should be equivalent
429
+ ok 1 - preHandler option # time=3.845ms
430
+
431
+ # Subtest: preHandler hook in setNotFoundHandler should be called when callNotFound
432
+ 1..3
433
+ ok 1 - should be equal
434
+ ok 2 - should not error
435
+ ok 3 - should be equivalent
436
+ ok 2 - preHandler hook in setNotFoundHandler should be called when callNotFound # time=1.64ms
437
+
438
+ # Subtest: preHandler hook in setNotFoundHandler should accept an array of functions and be called when callNotFound
439
+ 1..2
440
+ ok 1 - should not error
441
+ ok 2 - should be equivalent
442
+ ok 3 - preHandler hook in setNotFoundHandler should accept an array of functions and be called when callNotFound # time=3.605ms
443
+
444
+ # Subtest: preHandler option should be called after preHandler hook
445
+ 1..2
446
+ ok 1 - should not error
447
+ ok 2 - should be equivalent
448
+ ok 4 - preHandler option should be called after preHandler hook # time=3.618ms
449
+
450
+ # Subtest: preHandler option should be unique per prefix
451
+ 1..4
452
+ ok 1 - should not error
453
+ ok 2 - should be equivalent
454
+ ok 3 - should not error
455
+ ok 4 - should be equivalent
456
+ ok 5 - preHandler option should be unique per prefix # time=5.181ms
457
+
458
+ # Subtest: preHandler option should handle errors
459
+ 1..3
460
+ ok 1 - should not error
461
+ ok 2 - should be equal
462
+ ok 3 - should be equivalent
463
+ ok 6 - preHandler option should handle errors # time=1.445ms
464
+
465
+ # Subtest: preHandler option should handle errors with custom status code
466
+ 1..3
467
+ ok 1 - should not error
468
+ ok 2 - should be equal
469
+ ok 3 - should be equivalent
470
+ ok 7 - preHandler option should handle errors with custom status code # time=1.44ms
471
+
472
+ # Subtest: preHandler option could accept an array of functions
473
+ 1..2
474
+ ok 1 - should not error
475
+ ok 2 - should be equivalent
476
+ ok 8 - preHandler option could accept an array of functions # time=1.374ms
477
+
478
+ # Subtest: preHandler option does not interfere with preHandler
479
+ 1..4
480
+ ok 1 - should not error
481
+ ok 2 - should be equivalent
482
+ ok 3 - should not error
483
+ ok 4 - should be equivalent
484
+ ok 9 - preHandler option does not interfere with preHandler # time=2.824ms
485
+
486
+ # Subtest: preHandler option should keep the context
487
+ 1..3
488
+ ok 1 - should be equal
489
+ ok 2 - should not error
490
+ ok 3 - should be equivalent
491
+ ok 10 - preHandler option should keep the context # time=1.302ms
492
+
493
+ ok 24 - preHandler option for setNotFoundHandler # time=29.204ms
494
+
495
+ # Subtest: reply.notFound invoked the notFound handler
496
+ 1..3
497
+ ok 1 - should not error
498
+ ok 2 - should be equal
499
+ ok 3 - should be equivalent
500
+ ok 25 - reply.notFound invoked the notFound handler # time=1.424ms
501
+
502
+ # Subtest: The custom error handler should be invoked after the custom not found handler
503
+ 1..6
504
+ ok 1 - should be equal
505
+ ok 2 - should be equal
506
+ ok 3 - type is Error
507
+ ok 4 - should not error
508
+ ok 5 - should be equal
509
+ ok 6 - should be equivalent
510
+ ok 26 - The custom error handler should be invoked after the custom not found handler # time=4.089ms
511
+
512
+ # Subtest: If the custom not found handler does not use an Error, the custom error handler should not be called
513
+ 1..3
514
+ ok 1 - should not error
515
+ ok 2 - should be equal
516
+ ok 3 - should be equal
517
+ ok 27 - If the custom not found handler does not use an Error, the custom error handler should not be called # time=8.547ms
518
+
519
+ # Subtest: preValidation option
520
+ 1..3
521
+ ok 1 - should be equal
522
+ ok 2 - should not error
523
+ ok 3 - should be equivalent
524
+ ok 28 - preValidation option # time=1.455ms
525
+
526
+ # Subtest: preValidation option could accept an array of functions
527
+ 1..4
528
+ ok 1 - should be equal
529
+ ok 2 - should be equal
530
+ ok 3 - should not error
531
+ ok 4 - should be equivalent
532
+ ok 29 - preValidation option could accept an array of functions # time=1.433ms
533
+
534
+ # Subtest: Should fail to invoke callNotFound inside a 404 handler
535
+ 1..5
536
+ ok 1 - should be equal
537
+ ok 2 - should be equal
538
+ ok 3 - should not error
539
+ ok 4 - should be equal
540
+ ok 5 - should be equal
541
+ ok 30 - Should fail to invoke callNotFound inside a 404 handler # time=2.132ms
542
+
543
+ # Subtest: 400 in case of bad url (pre find-my-way v2.2.0 was a 404)
544
+ # Subtest: Dynamic route
545
+ 1..3
546
+ ok 1 - should not error
547
+ ok 2 - should be equal
548
+ ok 3 - should be equivalent
549
+ ok 1 - Dynamic route # time=2.744ms
550
+
551
+ # Subtest: Wildcard
552
+ 1..3
553
+ ok 1 - should not error
554
+ ok 2 - should be equal
555
+ ok 3 - should be equivalent
556
+ ok 2 - Wildcard # time=1.199ms
557
+
558
+ # Subtest: No route registered
559
+ 1..3
560
+ ok 1 - should not error
561
+ ok 2 - should be equal
562
+ ok 3 - should be equivalent
563
+ ok 3 - No route registered # time=0.989ms
564
+
565
+ # Subtest: Only / is registered
566
+ 1..3
567
+ ok 1 - should not error
568
+ ok 2 - should be equal
569
+ ok 3 - should be equivalent
570
+ ok 4 - Only / is registered # time=1.147ms
571
+
572
+ # Subtest: customized 404
573
+ 1..3
574
+ ok 1 - should not error
575
+ ok 2 - should be equal
576
+ ok 3 - should be equivalent
577
+ ok 5 - customized 404 # time=1.428ms
578
+
579
+ 1..5
580
+ ok 31 - 400 in case of bad url (pre find-my-way v2.2.0 was a 404) # time=8.5ms
581
+
582
+ # Subtest: setNotFoundHandler should be chaining fastify instance
583
+ # Subtest: Register route after setNotFoundHandler
584
+ 1..6
585
+ ok 1 - should not error
586
+ ok 2 - should be equal
587
+ ok 3 - should be equal
588
+ ok 4 - should not error
589
+ ok 5 - should be equal
590
+ ok 6 - should be equal
591
+ ok 1 - Register route after setNotFoundHandler # time=5.244ms
592
+
593
+ 1..1
594
+ ok 32 - setNotFoundHandler should be chaining fastify instance # time=5.923ms
595
+
596
+ # Subtest: Send 404 when frameworkError calls reply.callNotFound
597
+ # Subtest: Dynamic route
598
+ 1..4
599
+ ok 1 - should be equal
600
+ ok 2 - should not error
601
+ ok 3 - should be equal
602
+ ok 4 - should be equal
603
+ ok 1 - Dynamic route # time=1.483ms
604
+
605
+ 1..1
606
+ ok 33 - Send 404 when frameworkError calls reply.callNotFound # time=2.226ms
607
+
608
+ # Subtest: hooks are applied to not found handlers /1
609
+ ok 1 - should be equal
610
+ 1..1
611
+ ok 34 - hooks are applied to not found handlers /1 # time=1.868ms
612
+
613
+ # Subtest: hooks are applied to not found handlers /2
614
+ ok 1 - should be equal
615
+ 1..1
616
+ ok 35 - hooks are applied to not found handlers /2 # time=1.171ms
617
+
618
+ # Subtest: hooks are applied to not found handlers /3
619
+ ok 1 - should be equal
620
+ 1..1
621
+ ok 36 - hooks are applied to not found handlers /3 # time=1.152ms
622
+
623
+ 1..36
@@ -0,0 +1,64 @@
1
+ TAP version 14
2
+ # Subtest: default 500
3
+ 1..4
4
+ ok 1 - should not error
5
+ ok 2 - should be equal
6
+ ok 3 - should be equal
7
+ ok 4 - should be equivalent
8
+ ok 1 - default 500 # time=25.716ms
9
+
10
+ # Subtest: custom 500
11
+ 1..6
12
+ ok 1 - type is object
13
+ ok 2 - type is Request
14
+ ok 3 - should not error
15
+ ok 4 - should be equal
16
+ ok 5 - should be equal
17
+ ok 6 - should be equivalent
18
+ ok 2 - custom 500 # time=2.475ms
19
+
20
+ # Subtest: encapsulated 500
21
+ 1..10
22
+ ok 1 - type is object
23
+ ok 2 - type is Request
24
+ ok 3 - should not error
25
+ ok 4 - should be equal
26
+ ok 5 - should be equal
27
+ ok 6 - should be equivalent
28
+ ok 7 - should not error
29
+ ok 8 - should be equal
30
+ ok 9 - should be equal
31
+ ok 10 - should be equivalent
32
+ ok 3 - encapsulated 500 # time=3.948ms
33
+
34
+ # Subtest: custom 500 with hooks
35
+ 1..7
36
+ ok 1 - onRequest
37
+ ok 2 - onSend
38
+ ok 3 - onResponse
39
+ ok 4 - should not error
40
+ ok 5 - should be equal
41
+ ok 6 - should be equal
42
+ ok 7 - should be equivalent
43
+ ok 4 - custom 500 with hooks # time=2.127ms
44
+
45
+ # Subtest: cannot set errorHandler after binding
46
+ 1..2
47
+ ok 1 - should not error
48
+ ok 2 - (unnamed test)
49
+ ok 5 - cannot set errorHandler after binding # time=9.607ms
50
+
51
+ # Subtest: cannot set childLoggerFactory after binding
52
+ 1..2
53
+ ok 1 - should not error
54
+ ok 2 - (unnamed test)
55
+ ok 6 - cannot set childLoggerFactory after binding # time=2.034ms
56
+
57
+ # Subtest: catch synchronous errors
58
+ 1..3
59
+ ok 1 - should not error
60
+ ok 2 - should be equal
61
+ ok 3 - should be equivalent
62
+ ok 7 - catch synchronous errors # time=3.226ms
63
+
64
+ 1..7
@@ -0,0 +1,36 @@
1
+ TAP version 14
2
+ # Subtest: allow unsafe regex
3
+ 1..4
4
+ ok 1 - should not error
5
+ ok 2 - should not error
6
+ ok 3 - should be equal
7
+ ok 4 - should be equivalent
8
+ ok 1 - allow unsafe regex # time=39.878ms
9
+
10
+ # Subtest: allow unsafe regex not match
11
+ 1..3
12
+ ok 1 - should not error
13
+ ok 2 - should not error
14
+ ok 3 - should be equal
15
+ ok 2 - allow unsafe regex not match # time=8.24ms
16
+
17
+ # Subtest: allow unsafe regex not safe
18
+ 1..1
19
+ ok 1 - expected to throw
20
+ ok 3 - allow unsafe regex not safe # time=3.572ms
21
+
22
+ # Subtest: allow unsafe regex not safe by default
23
+ 1..1
24
+ ok 1 - expected to throw
25
+ ok 4 - allow unsafe regex not safe by default # time=1.383ms
26
+
27
+ # Subtest: allow unsafe regex allow unsafe
28
+ 1..5
29
+ ok 1 - expect to not throw
30
+ ok 2 - should not error
31
+ ok 3 - should not error
32
+ ok 4 - should be equal
33
+ ok 5 - should be equivalent
34
+ ok 5 - allow unsafe regex allow unsafe # time=9.496ms
35
+
36
+ 1..5