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,498 @@
1
+ TAP version 14
2
+ # Subtest: preHandler
3
+ 1..3
4
+ ok 1 - hook called
5
+ ok 2 - should not error
6
+ ok 3 - should be equivalent
7
+ ok 1 - preHandler # time=30.957ms
8
+
9
+ # Subtest: preHandler option should be called after preHandler hook
10
+ 1..3
11
+ ok 1 - should be equal
12
+ ok 2 - should be equal
13
+ ok 3 - should not error
14
+ ok 2 - preHandler option should be called after preHandler hook # time=2.715ms
15
+
16
+ # Subtest: preHandler option could accept an array of functions
17
+ 1..3
18
+ ok 1 - should be equal
19
+ ok 2 - should be equal
20
+ ok 3 - should not error
21
+ ok 3 - preHandler option could accept an array of functions # time=1.748ms
22
+
23
+ # Subtest: preHandler option could accept an array of async functions
24
+ 1..3
25
+ ok 1 - should be equal
26
+ ok 2 - should be equal
27
+ ok 3 - should not error
28
+ ok 4 - preHandler option could accept an array of async functions # time=1.656ms
29
+
30
+ # Subtest: preHandler option does not interfere with preHandler hook
31
+ 1..7
32
+ ok 1 - should be equal
33
+ ok 2 - should be equal
34
+ ok 3 - should not error
35
+ ok 4 - should be equal
36
+ ok 5 - should be equal
37
+ ok 6 - should not error
38
+ ok 7 - should be equal
39
+ ok 5 - preHandler option does not interfere with preHandler hook # time=3.474ms
40
+
41
+ # Subtest: onSend
42
+ 1..3
43
+ ok 1 - hook called
44
+ ok 2 - should not error
45
+ ok 3 - should be equivalent
46
+ ok 6 - onSend # time=2.978ms
47
+
48
+ # Subtest: onSend option should be called after onSend hook
49
+ 1..3
50
+ ok 1 - should be equal
51
+ ok 2 - should be equal
52
+ ok 3 - should not error
53
+ ok 7 - onSend option should be called after onSend hook # time=2.032ms
54
+
55
+ # Subtest: onSend option could accept an array of functions
56
+ 1..3
57
+ ok 1 - should be equal
58
+ ok 2 - should be equal
59
+ ok 3 - should not error
60
+ ok 8 - onSend option could accept an array of functions # time=2.86ms
61
+
62
+ # Subtest: onSend option could accept an array of async functions
63
+ 1..3
64
+ ok 1 - should be equal
65
+ ok 2 - should be equal
66
+ ok 3 - should not error
67
+ ok 9 - onSend option could accept an array of async functions # time=4.311ms
68
+
69
+ # Subtest: onSend option does not interfere with onSend hook
70
+ 1..7
71
+ ok 1 - should be equal
72
+ ok 2 - should be equal
73
+ ok 3 - should not error
74
+ ok 4 - should be equal
75
+ ok 5 - should be equal
76
+ ok 6 - should not error
77
+ ok 7 - should be equal
78
+ ok 10 - onSend option does not interfere with onSend hook # time=1.715ms
79
+
80
+ # Subtest: onRequest
81
+ 1..3
82
+ ok 1 - hook called
83
+ ok 2 - should not error
84
+ ok 3 - should be equivalent
85
+ ok 11 - onRequest # time=2.179ms
86
+
87
+ # Subtest: onRequest option should be called after onRequest hook
88
+ 1..3
89
+ ok 1 - should be equal
90
+ ok 2 - should be equal
91
+ ok 3 - should not error
92
+ ok 12 - onRequest option should be called after onRequest hook # time=3.045ms
93
+
94
+ # Subtest: onRequest option could accept an array of functions
95
+ 1..3
96
+ ok 1 - should be equal
97
+ ok 2 - should be equal
98
+ ok 3 - should not error
99
+ ok 13 - onRequest option could accept an array of functions # time=5.68ms
100
+
101
+ # Subtest: onRequest option could accept an array of async functions
102
+ 1..3
103
+ ok 1 - should be equal
104
+ ok 2 - should be equal
105
+ ok 3 - should not error
106
+ ok 14 - onRequest option could accept an array of async functions # time=1.423ms
107
+
108
+ # Subtest: onRequest option does not interfere with onRequest hook
109
+ 1..7
110
+ ok 1 - should be equal
111
+ ok 2 - should be equal
112
+ ok 3 - should not error
113
+ ok 4 - should be equal
114
+ ok 5 - should be equal
115
+ ok 6 - should not error
116
+ ok 7 - should be equal
117
+ ok 15 - onRequest option does not interfere with onRequest hook # time=1.575ms
118
+
119
+ # Subtest: onResponse
120
+ 1..3
121
+ ok 1 - hook called
122
+ ok 2 - should not error
123
+ ok 3 - should be equivalent
124
+ ok 16 - onResponse # time=2.051ms
125
+
126
+ # Subtest: onResponse option should be called after onResponse hook
127
+ 1..3
128
+ ok 1 - should be equal
129
+ ok 2 - should be equal
130
+ ok 3 - should not error
131
+ ok 17 - onResponse option should be called after onResponse hook # time=1.693ms
132
+
133
+ # Subtest: onResponse option could accept an array of functions
134
+ 1..3
135
+ ok 1 - should be equal
136
+ ok 2 - should be equal
137
+ ok 3 - should not error
138
+ ok 18 - onResponse option could accept an array of functions # time=2.019ms
139
+
140
+ # Subtest: onResponse option could accept an array of async functions
141
+ 1..3
142
+ ok 1 - should be equal
143
+ ok 2 - should not error
144
+ ok 3 - should be equal
145
+ ok 19 - onResponse option could accept an array of async functions # time=1.438ms
146
+
147
+ # Subtest: onResponse option does not interfere with onResponse hook
148
+ 1..7
149
+ ok 1 - should be equal
150
+ ok 2 - should be equal
151
+ ok 3 - should not error
152
+ ok 4 - should be equal
153
+ ok 5 - should be equal
154
+ ok 6 - should not error
155
+ ok 7 - should be equal
156
+ ok 20 - onResponse option does not interfere with onResponse hook # time=2.079ms
157
+
158
+ # Subtest: preValidation
159
+ 1..3
160
+ ok 1 - hook called
161
+ ok 2 - should not error
162
+ ok 3 - should be equivalent
163
+ ok 21 - preValidation # time=2.096ms
164
+
165
+ # Subtest: preValidation option should be called after preValidation hook
166
+ 1..3
167
+ ok 1 - should be equal
168
+ ok 2 - should be equal
169
+ ok 3 - should not error
170
+ ok 22 - preValidation option should be called after preValidation hook # time=1.876ms
171
+
172
+ # Subtest: preValidation option could accept an array of functions
173
+ 1..3
174
+ ok 1 - should be equal
175
+ ok 2 - should be equal
176
+ ok 3 - should not error
177
+ ok 23 - preValidation option could accept an array of functions # time=1.859ms
178
+
179
+ # Subtest: preValidation option could accept an array of async functions
180
+ 1..3
181
+ ok 1 - should be equal
182
+ ok 2 - should be equal
183
+ ok 3 - should not error
184
+ ok 24 - preValidation option could accept an array of async functions # time=1.757ms
185
+
186
+ # Subtest: preValidation option does not interfere with preValidation hook
187
+ 1..7
188
+ ok 1 - should be equal
189
+ ok 2 - should be equal
190
+ ok 3 - should not error
191
+ ok 4 - should be equal
192
+ ok 5 - should be equal
193
+ ok 6 - should not error
194
+ ok 7 - should be equal
195
+ ok 25 - preValidation option does not interfere with preValidation hook # time=1.388ms
196
+
197
+ # Subtest: preParsing
198
+ 1..3
199
+ ok 1 - hook called
200
+ ok 2 - should not error
201
+ ok 3 - should be equivalent
202
+ ok 26 - preParsing # time=2.168ms
203
+
204
+ # Subtest: preParsing option should be called after preParsing hook
205
+ 1..3
206
+ ok 1 - should be equal
207
+ ok 2 - should be equal
208
+ ok 3 - should not error
209
+ ok 27 - preParsing option should be called after preParsing hook # time=1.619ms
210
+
211
+ # Subtest: preParsing option could accept an array of functions
212
+ 1..3
213
+ ok 1 - should be equal
214
+ ok 2 - should be equal
215
+ ok 3 - should not error
216
+ ok 28 - preParsing option could accept an array of functions # time=1.621ms
217
+
218
+ # Subtest: preParsing option could accept an array of async functions
219
+ 1..3
220
+ ok 1 - should be equal
221
+ ok 2 - should be equal
222
+ ok 3 - should not error
223
+ ok 29 - preParsing option could accept an array of async functions # time=1.815ms
224
+
225
+ # Subtest: preParsing option does not interfere with preParsing hook
226
+ 1..7
227
+ ok 1 - should be equal
228
+ ok 2 - should be equal
229
+ ok 3 - should not error
230
+ ok 4 - should be equal
231
+ ok 5 - should be equal
232
+ ok 6 - should not error
233
+ ok 7 - should be equal
234
+ ok 30 - preParsing option does not interfere with preParsing hook # time=2.503ms
235
+
236
+ # Subtest: preHandler option should be unique per route
237
+ 1..4
238
+ ok 1 - should not error
239
+ ok 2 - should be equivalent
240
+ ok 3 - should not error
241
+ ok 4 - should be equivalent
242
+ ok 31 - preHandler option should be unique per route # time=4.946ms
243
+
244
+ # Subtest: preHandler option should handle errors
245
+ 1..3
246
+ ok 1 - should not error
247
+ ok 2 - should be equal
248
+ ok 3 - should be equivalent
249
+ ok 32 - preHandler option should handle errors # time=2.264ms
250
+
251
+ # Subtest: preHandler option should handle throwing objects
252
+ 1..4
253
+ ok 1 - the error object throws by the user
254
+ ok 2 - should not error
255
+ ok 3 - should be equal
256
+ ok 4 - should be equivalent
257
+ ok 33 - preHandler option should handle throwing objects # time=1.9ms
258
+
259
+ # Subtest: preHandler option should handle throwing objects by default
260
+ 1..3
261
+ ok 1 - should not error
262
+ ok 2 - should be equal
263
+ ok 3 - should be equivalent
264
+ ok 34 - preHandler option should handle throwing objects by default # time=1.723ms
265
+
266
+ # Subtest: preHandler option should handle errors with custom status code
267
+ 1..3
268
+ ok 1 - should not error
269
+ ok 2 - should be equal
270
+ ok 3 - should be equivalent
271
+ ok 35 - preHandler option should handle errors with custom status code # time=3.006ms
272
+
273
+ # Subtest: preHandler option should keep the context
274
+ 1..3
275
+ ok 1 - should be equal
276
+ ok 2 - should not error
277
+ ok 3 - should be equivalent
278
+ ok 36 - preHandler option should keep the context # time=2.41ms
279
+
280
+ # Subtest: preHandler option should keep the context (array)
281
+ 1..3
282
+ ok 1 - should be equal
283
+ ok 2 - should not error
284
+ ok 3 - should be equivalent
285
+ ok 37 - preHandler option should keep the context (array) # time=4.021ms
286
+
287
+ # Subtest: onRequest option should be unique per route
288
+ 1..4
289
+ ok 1 - should not error
290
+ ok 2 - should be equivalent
291
+ ok 3 - should not error
292
+ ok 4 - should be equivalent
293
+ ok 38 - onRequest option should be unique per route # time=1.929ms
294
+
295
+ # Subtest: onRequest option should handle errors
296
+ 1..3
297
+ ok 1 - should not error
298
+ ok 2 - should be equal
299
+ ok 3 - should be equivalent
300
+ ok 39 - onRequest option should handle errors # time=1.017ms
301
+
302
+ # Subtest: onRequest option should handle throwing objects
303
+ 1..4
304
+ ok 1 - the error object throws by the user
305
+ ok 2 - should not error
306
+ ok 3 - should be equal
307
+ ok 4 - should be equivalent
308
+ ok 40 - onRequest option should handle throwing objects # time=1.134ms
309
+
310
+ # Subtest: onRequest option should handle throwing objects by default
311
+ 1..3
312
+ ok 1 - should not error
313
+ ok 2 - should be equal
314
+ ok 3 - should be equivalent
315
+ ok 41 - onRequest option should handle throwing objects by default # time=1.488ms
316
+
317
+ # Subtest: onRequest option should handle errors with custom status code
318
+ 1..3
319
+ ok 1 - should not error
320
+ ok 2 - should be equal
321
+ ok 3 - should be equivalent
322
+ ok 42 - onRequest option should handle errors with custom status code # time=0.946ms
323
+
324
+ # Subtest: onRequest option should keep the context
325
+ 1..3
326
+ ok 1 - should be equal
327
+ ok 2 - should not error
328
+ ok 3 - should be equivalent
329
+ ok 43 - onRequest option should keep the context # time=1.844ms
330
+
331
+ # Subtest: onRequest option should keep the context (array)
332
+ 1..3
333
+ ok 1 - should be equal
334
+ ok 2 - should not error
335
+ ok 3 - should be equivalent
336
+ ok 44 - onRequest option should keep the context (array) # time=2.171ms
337
+
338
+ # Subtest: preValidation option should be unique per route
339
+ 1..4
340
+ ok 1 - should not error
341
+ ok 2 - should be equivalent
342
+ ok 3 - should not error
343
+ ok 4 - should be equivalent
344
+ ok 45 - preValidation option should be unique per route # time=1.652ms
345
+
346
+ # Subtest: preValidation option should handle errors
347
+ 1..3
348
+ ok 1 - should not error
349
+ ok 2 - should be equal
350
+ ok 3 - should be equivalent
351
+ ok 46 - preValidation option should handle errors # time=1.876ms
352
+
353
+ # Subtest: preValidation option should handle throwing objects
354
+ 1..4
355
+ ok 1 - the error object throws by the user
356
+ ok 2 - should not error
357
+ ok 3 - should be equal
358
+ ok 4 - should be equivalent
359
+ ok 47 - preValidation option should handle throwing objects # time=1.142ms
360
+
361
+ # Subtest: preValidation option should handle throwing objects by default
362
+ 1..3
363
+ ok 1 - should not error
364
+ ok 2 - should be equal
365
+ ok 3 - should be equivalent
366
+ ok 48 - preValidation option should handle throwing objects by default # time=1.009ms
367
+
368
+ # Subtest: preValidation option should handle errors with custom status code
369
+ 1..3
370
+ ok 1 - should not error
371
+ ok 2 - should be equal
372
+ ok 3 - should be equivalent
373
+ ok 49 - preValidation option should handle errors with custom status code # time=3.152ms
374
+
375
+ # Subtest: preValidation option should keep the context
376
+ 1..3
377
+ ok 1 - should be equal
378
+ ok 2 - should not error
379
+ ok 3 - should be equivalent
380
+ ok 50 - preValidation option should keep the context # time=3.609ms
381
+
382
+ # Subtest: preValidation option should keep the context (array)
383
+ 1..3
384
+ ok 1 - should be equal
385
+ ok 2 - should not error
386
+ ok 3 - should be equivalent
387
+ ok 51 - preValidation option should keep the context (array) # time=7.151ms
388
+
389
+ # Subtest: preParsing option should be unique per route
390
+ 1..4
391
+ ok 1 - should not error
392
+ ok 2 - should be equivalent
393
+ ok 3 - should not error
394
+ ok 4 - should be equivalent
395
+ ok 52 - preParsing option should be unique per route # time=3.041ms
396
+
397
+ # Subtest: preParsing option should handle errors
398
+ 1..3
399
+ ok 1 - should not error
400
+ ok 2 - should be equal
401
+ ok 3 - should be equivalent
402
+ ok 53 - preParsing option should handle errors # time=1.131ms
403
+
404
+ # Subtest: preParsing option should handle throwing objects
405
+ 1..4
406
+ ok 1 - the error object throws by the user
407
+ ok 2 - should not error
408
+ ok 3 - should be equal
409
+ ok 4 - should be equivalent
410
+ ok 54 - preParsing option should handle throwing objects # time=1.069ms
411
+
412
+ # Subtest: preParsing option should handle throwing objects by default
413
+ 1..3
414
+ ok 1 - should not error
415
+ ok 2 - should be equal
416
+ ok 3 - should be equivalent
417
+ ok 55 - preParsing option should handle throwing objects by default # time=0.938ms
418
+
419
+ # Subtest: preParsing option should handle errors with custom status code
420
+ 1..3
421
+ ok 1 - should not error
422
+ ok 2 - should be equal
423
+ ok 3 - should be equivalent
424
+ ok 56 - preParsing option should handle errors with custom status code # time=0.903ms
425
+
426
+ # Subtest: preParsing option should keep the context
427
+ 1..3
428
+ ok 1 - should be equal
429
+ ok 2 - should not error
430
+ ok 3 - should be equivalent
431
+ ok 57 - preParsing option should keep the context # time=2.46ms
432
+
433
+ # Subtest: preParsing option should keep the context (array)
434
+ 1..3
435
+ ok 1 - should be equal
436
+ ok 2 - should not error
437
+ ok 3 - should be equivalent
438
+ ok 58 - preParsing option should keep the context (array) # time=1.681ms
439
+
440
+ # Subtest: preValidation option should be called before preHandler hook
441
+ 1..3
442
+ ok 1 - should be equal
443
+ ok 2 - should not error
444
+ ok 3 - should be equivalent
445
+ ok 59 - preValidation option should be called before preHandler hook # time=1.799ms
446
+
447
+ # Subtest: preSerialization option should be able to modify the payload
448
+ 1..3
449
+ ok 1 - should not error
450
+ ok 2 - should be equal
451
+ ok 3 - should be equivalent
452
+ ok 60 - preSerialization option should be able to modify the payload # time=1.209ms
453
+
454
+ # Subtest: preParsing option should be called before preValidation hook
455
+ 1..3
456
+ ok 1 - should be equal
457
+ ok 2 - should not error
458
+ ok 3 - should be equivalent
459
+ ok 61 - preParsing option should be called before preValidation hook # time=1.153ms
460
+
461
+ # Subtest: preParsing option should be able to modify the payload
462
+ 1..3
463
+ ok 1 - should not error
464
+ ok 2 - should be equal
465
+ ok 3 - should be equivalent
466
+ ok 62 - preParsing option should be able to modify the payload # time=1.397ms
467
+
468
+ # Subtest: preParsing option should be able to supply statusCode
469
+ 1..4
470
+ ok 1 - should be equal
471
+ ok 2 - should not error
472
+ ok 3 - should be equal
473
+ ok 4 - should be equivalent
474
+ ok 63 - preParsing option should be able to supply statusCode # time=1.497ms
475
+
476
+ # Subtest: onRequest option should be called before preParsing
477
+ 1..3
478
+ ok 1 - should be equal
479
+ ok 2 - should not error
480
+ ok 3 - should be equivalent
481
+ ok 64 - onRequest option should be called before preParsing # time=1.438ms
482
+
483
+ # Subtest: onTimeout on route
484
+ 1..4
485
+ ok 1 - should not error
486
+ ok 2 - onTimeout called
487
+ ok 3 - type is Error
488
+ ok 4 - should be equal
489
+ ok 65 - onTimeout on route # time=518.178ms
490
+
491
+ # Subtest: onError on route
492
+ 1..3
493
+ ok 1 - should match pattern
494
+ ok 2 - should not error
495
+ ok 3 - should be equivalent
496
+ ok 66 - onError on route # time=1.529ms
497
+
498
+ 1..66
@@ -0,0 +1,195 @@
1
+ TAP version 14
2
+ # Subtest: Prefix options should add a prefix for all the routes inside a register / 1
3
+ 1..6
4
+ ok 1 - should not error
5
+ ok 2 - should be equivalent
6
+ ok 3 - should not error
7
+ ok 4 - should be equivalent
8
+ ok 5 - should not error
9
+ ok 6 - should be equivalent
10
+ ok 1 - Prefix options should add a prefix for all the routes inside a register / 1 # time=25.963ms
11
+
12
+ # Subtest: Prefix options should add a prefix for all the routes inside a register / 2
13
+ 1..4
14
+ ok 1 - should not error
15
+ ok 2 - should be equivalent
16
+ ok 3 - should not error
17
+ ok 4 - should be equivalent
18
+ ok 2 - Prefix options should add a prefix for all the routes inside a register / 2 # time=5.518ms
19
+
20
+ # Subtest: Prefix options should add a prefix for all the chained routes inside a register / 3
21
+ 1..4
22
+ ok 1 - should not error
23
+ ok 2 - should be equivalent
24
+ ok 3 - should not error
25
+ ok 4 - should be equivalent
26
+ ok 3 - Prefix options should add a prefix for all the chained routes inside a register / 3 # time=2.847ms
27
+
28
+ # Subtest: Prefix should support parameters as well
29
+ 1..2
30
+ ok 1 - should not error
31
+ ok 2 - should be equivalent
32
+ ok 4 - Prefix should support parameters as well # time=2.562ms
33
+
34
+ # Subtest: Prefix should support /
35
+ 1..2
36
+ ok 1 - should not error
37
+ ok 2 - should be equivalent
38
+ ok 5 - Prefix should support / # time=2.052ms
39
+
40
+ # Subtest: Prefix without /
41
+ 1..2
42
+ ok 1 - should not error
43
+ ok 2 - should be equivalent
44
+ ok 6 - Prefix without / # time=1.993ms
45
+
46
+ # Subtest: Prefix with trailing /
47
+ 1..6
48
+ ok 1 - should not error
49
+ ok 2 - should be equivalent
50
+ ok 3 - should not error
51
+ ok 4 - should be equivalent
52
+ ok 5 - should not error
53
+ ok 6 - should be equivalent
54
+ ok 7 - Prefix with trailing / # time=3.116ms
55
+
56
+ # Subtest: Prefix works multiple levels deep
57
+ 1..2
58
+ ok 1 - should not error
59
+ ok 2 - should be equivalent
60
+ ok 8 - Prefix works multiple levels deep # time=2.47ms
61
+
62
+ # Subtest: Different register - encapsulation check
63
+ 1..4
64
+ ok 1 - should not error
65
+ ok 2 - should be equivalent
66
+ ok 3 - should not error
67
+ ok 4 - should be equivalent
68
+ ok 9 - Different register - encapsulation check # time=3.821ms
69
+
70
+ # Subtest: Can retrieve prefix within encapsulated instances
71
+ 1..4
72
+ ok 1 - should not error
73
+ ok 2 - should be equal
74
+ ok 3 - should not error
75
+ ok 4 - should be equal
76
+ ok 10 - Can retrieve prefix within encapsulated instances # time=2.557ms
77
+
78
+ # Subtest: matches both /prefix and /prefix/ with a / route
79
+ 1..4
80
+ ok 1 - should not error
81
+ ok 2 - should be equivalent
82
+ ok 3 - should not error
83
+ ok 4 - should be equivalent
84
+ ok 11 - matches both /prefix and /prefix/ with a / route # time=2.265ms
85
+
86
+ # Subtest: prefix "/prefix/" does not match "/prefix" with a / route
87
+ 1..4
88
+ ok 1 - should not error
89
+ ok 2 - should be equal
90
+ ok 3 - should not error
91
+ ok 4 - should be equivalent
92
+ ok 12 - prefix "/prefix/" does not match "/prefix" with a / route # time=2.8ms
93
+
94
+ # Subtest: matches both /prefix and /prefix/ with a / route - ignoreTrailingSlash: true
95
+ 1..4
96
+ ok 1 - should not error
97
+ ok 2 - should be equivalent
98
+ ok 3 - should not error
99
+ ok 4 - should be equivalent
100
+ ok 13 - matches both /prefix and /prefix/ with a / route - ignoreTrailingSlash: true # time=6.831ms
101
+
102
+ # Subtest: matches both /prefix and /prefix/ with a / route - ignoreDuplicateSlashes: true
103
+ 1..4
104
+ ok 1 - should not error
105
+ ok 2 - should be equivalent
106
+ ok 3 - should not error
107
+ ok 4 - should be equivalent
108
+ ok 14 - matches both /prefix and /prefix/ with a / route - ignoreDuplicateSlashes: true # time=2.293ms
109
+
110
+ # Subtest: matches both /prefix and /prefix/ with a / route - prefixTrailingSlash: "both", ignoreTrailingSlash: false
111
+ 1..4
112
+ ok 1 - should not error
113
+ ok 2 - should be equivalent
114
+ ok 3 - should not error
115
+ ok 4 - should be equivalent
116
+ ok 15 - matches both /prefix and /prefix/ with a / route - prefixTrailingSlash: "both", ignoreTrailingSlash: false # time=2.504ms
117
+
118
+ # Subtest: matches both /prefix and /prefix/ with a / route - prefixTrailingSlash: "both", ignoreDuplicateSlashes: false
119
+ 1..4
120
+ ok 1 - should not error
121
+ ok 2 - should be equivalent
122
+ ok 3 - should not error
123
+ ok 4 - should be equivalent
124
+ ok 16 - matches both /prefix and /prefix/ with a / route - prefixTrailingSlash: "both", ignoreDuplicateSlashes: false # time=2.272ms
125
+
126
+ # Subtest: matches both /prefix and /prefix/ with a / route - ignoreTrailingSlash: true, ignoreDuplicateSlashes: true
127
+ 1..4
128
+ ok 1 - should not error
129
+ ok 2 - should be equivalent
130
+ ok 3 - should not error
131
+ ok 4 - should be equivalent
132
+ ok 17 - matches both /prefix and /prefix/ with a / route - ignoreTrailingSlash: true, ignoreDuplicateSlashes: true # time=2.213ms
133
+
134
+ # Subtest: matches both /prefix and /prefix/ with a / route - ignoreTrailingSlash: true, ignoreDuplicateSlashes: false
135
+ 1..4
136
+ ok 1 - should not error
137
+ ok 2 - should be equivalent
138
+ ok 3 - should not error
139
+ ok 4 - should be equivalent
140
+ ok 18 - matches both /prefix and /prefix/ with a / route - ignoreTrailingSlash: true, ignoreDuplicateSlashes: false # time=2.361ms
141
+
142
+ # Subtest: returns 404 status code with /prefix/ and / route - prefixTrailingSlash: "both" (default), ignoreTrailingSlash: true
143
+ 1..2
144
+ ok 1 - should not error
145
+ ok 2 - should be equivalent
146
+ ok 19 - returns 404 status code with /prefix/ and / route - prefixTrailingSlash: "both" (default), ignoreTrailingSlash: true # time=1.621ms
147
+
148
+ # Subtest: matches both /prefix and /prefix/ with a / route - prefixTrailingSlash: "both", ignoreDuplicateSlashes: true
149
+ 1..2
150
+ ok 1 - should not error
151
+ ok 2 - should be equivalent
152
+ ok 20 - matches both /prefix and /prefix/ with a / route - prefixTrailingSlash: "both", ignoreDuplicateSlashes: true # time=1.784ms
153
+
154
+ # Subtest: matches both /prefix and /prefix/ with a / route - prefixTrailingSlash: "both", ignoreTrailingSlash: true, ignoreDuplicateSlashes: true
155
+ 1..2
156
+ ok 1 - should not error
157
+ ok 2 - should be equivalent
158
+ ok 21 - matches both /prefix and /prefix/ with a / route - prefixTrailingSlash: "both", ignoreTrailingSlash: true, ignoreDuplicateSlashes: true # time=1.571ms
159
+
160
+ # Subtest: matches both /prefix and /prefix/ with a / route - prefixTrailingSlash: "both", ignoreDuplicateSlashes: true
161
+ 1..2
162
+ ok 1 - should not error
163
+ ok 2 - should be equivalent
164
+ ok 22 - matches both /prefix and /prefix/ with a / route - prefixTrailingSlash: "both", ignoreDuplicateSlashes: true # time=1.527ms
165
+
166
+ # Subtest: matches only /prefix with a / route - prefixTrailingSlash: "no-slash", ignoreTrailingSlash: false
167
+ 1..4
168
+ ok 1 - should not error
169
+ ok 2 - should be equivalent
170
+ ok 3 - should not error
171
+ ok 4 - should be equal
172
+ ok 23 - matches only /prefix with a / route - prefixTrailingSlash: "no-slash", ignoreTrailingSlash: false # time=1.904ms
173
+
174
+ # Subtest: matches only /prefix with a / route - prefixTrailingSlash: "no-slash", ignoreDuplicateSlashes: false
175
+ 1..4
176
+ ok 1 - should not error
177
+ ok 2 - should be equivalent
178
+ ok 3 - should not error
179
+ ok 4 - should be equal
180
+ ok 24 - matches only /prefix with a / route - prefixTrailingSlash: "no-slash", ignoreDuplicateSlashes: false # time=1.854ms
181
+
182
+ # Subtest: matches only /prefix/ with a / route - prefixTrailingSlash: "slash", ignoreTrailingSlash: false
183
+ 1..4
184
+ ok 1 - should not error
185
+ ok 2 - should be equivalent
186
+ ok 3 - should not error
187
+ ok 4 - should be equal
188
+ ok 25 - matches only /prefix/ with a / route - prefixTrailingSlash: "slash", ignoreTrailingSlash: false # time=1.766ms
189
+
190
+ # Subtest: calls onRoute only once when prefixing
191
+ 1..1
192
+ ok 1 - should be equivalent
193
+ ok 26 - calls onRoute only once when prefixing # time=1.938ms
194
+
195
+ 1..26