fastify 4.28.0 → 4.28.1

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