fastify 4.27.0 → 5.0.0-alpha.2

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 (328) hide show
  1. package/.markdownlint-cli2.yaml +1 -1
  2. package/.tap/processinfo/09002e93-10ad-430c-bc86-c0576928b0ed.json +241 -0
  3. package/.tap/processinfo/ee66c5ab-635d-48b5-8be6-3dc3ceea5bfc.json +268 -0
  4. package/.tap/test-results/test/404s.test.js.tap +623 -0
  5. package/.tap/test-results/test/500s.test.js.tap +64 -0
  6. package/.tap/test-results/test/allowUnsafeRegex.test.js.tap +36 -0
  7. package/.tap/test-results/test/als.test.js.tap +15 -0
  8. package/.tap/test-results/test/async-await.test.js.tap +184 -0
  9. package/.tap/test-results/test/async-dispose.test.js.tap +8 -0
  10. package/.tap/test-results/test/async_hooks.test.js.tap +10 -0
  11. package/.tap/test-results/test/bodyLimit.test.js.tap +48 -0
  12. package/.tap/test-results/test/buffer.test.js.tap +20 -0
  13. package/.tap/test-results/test/build/error-serializer.test.js.tap +12 -0
  14. package/.tap/test-results/test/build/version.test.js.tap +7 -0
  15. package/.tap/test-results/test/case-insensitive.test.js.tap +36 -0
  16. package/.tap/test-results/test/chainable.test.js.tap +17 -0
  17. package/.tap/test-results/test/check.test.js.tap +10 -0
  18. package/.tap/test-results/test/childLoggerFactory.test.js.tap +23 -0
  19. package/.tap/test-results/test/client-timeout.test.js.tap +7 -0
  20. package/.tap/test-results/test/close-pipelining.test.js.tap +15 -0
  21. package/.tap/test-results/test/close.test.js.tap +172 -0
  22. package/.tap/test-results/test/connectionTimeout.test.js.tap +12 -0
  23. package/.tap/test-results/test/constrained-routes.test.js.tap +173 -0
  24. package/.tap/test-results/test/content-length.test.js.tap +46 -0
  25. package/.tap/test-results/test/content-parser.test.js.tap +266 -0
  26. package/.tap/test-results/test/content-type.test.js.tap +14 -0
  27. package/.tap/test-results/test/context-config.test.js.tap +41 -0
  28. package/.tap/test-results/test/copy.test.js.tap +14 -0
  29. package/.tap/test-results/test/custom-http-server.test.js.tap +30 -0
  30. package/.tap/test-results/test/custom-parser-async.test.js.tap +21 -0
  31. package/.tap/test-results/test/custom-parser.0.test.js.tap +199 -0
  32. package/.tap/test-results/test/custom-parser.1.test.js.tap +90 -0
  33. package/.tap/test-results/test/custom-parser.2.test.js.tap +22 -0
  34. package/.tap/test-results/test/custom-parser.3.test.js.tap +53 -0
  35. package/.tap/test-results/test/custom-parser.4.test.js.tap +45 -0
  36. package/.tap/test-results/test/custom-parser.5.test.js.tap +41 -0
  37. package/.tap/test-results/test/custom-querystring-parser.test.js.tap +46 -0
  38. package/.tap/test-results/test/decorator.test.js.tap +465 -0
  39. package/.tap/test-results/test/delete.test.js.tap +110 -0
  40. package/.tap/test-results/test/diagnostics-channel/404.test.js.tap +15 -0
  41. package/.tap/test-results/test/diagnostics-channel/async-delay-request.test.js.tap +25 -0
  42. package/.tap/test-results/test/diagnostics-channel/async-request.test.js.tap +24 -0
  43. package/.tap/test-results/test/diagnostics-channel/error-before-handler.test.js.tap +9 -0
  44. package/.tap/test-results/test/diagnostics-channel/error-request.test.js.tap +20 -0
  45. package/.tap/test-results/test/diagnostics-channel/error-status.test.js.tap +10 -0
  46. package/.tap/test-results/test/diagnostics-channel/init.test.js.tap +14 -0
  47. package/.tap/test-results/test/diagnostics-channel/sync-delay-request.test.js.tap +16 -0
  48. package/.tap/test-results/test/diagnostics-channel/sync-request-reply.test.js.tap +16 -0
  49. package/.tap/test-results/test/diagnostics-channel/sync-request.test.js.tap +19 -0
  50. package/.tap/test-results/test/encapsulated-child-logger-factory.test.js.tap +18 -0
  51. package/.tap/test-results/test/encapsulated-error-handler.test.js.tap +243 -0
  52. package/.tap/test-results/test/esm/errorCodes.test.mjs.tap +9 -0
  53. package/.tap/test-results/test/esm/esm.test.mjs.tap +8 -0
  54. package/.tap/test-results/test/esm/index.test.js.tap +8 -0
  55. package/.tap/test-results/test/fastify-instance.test.js.tap +114 -0
  56. package/.tap/test-results/test/findRoute.test.js.tap +37 -0
  57. package/.tap/test-results/test/fluent-schema.test.js.tap +36 -0
  58. package/.tap/test-results/test/genReqId.test.js.tap +106 -0
  59. package/.tap/test-results/test/get.test.js.tap +151 -0
  60. package/.tap/test-results/test/handler-context.test.js.tap +19 -0
  61. package/.tap/test-results/test/has-route.test.js.tap +30 -0
  62. package/.tap/test-results/test/head.test.js.tap +130 -0
  63. package/.tap/test-results/test/header-overflow.test.js.tap +16 -0
  64. package/.tap/test-results/test/hooks-async.test.js.tap +286 -0
  65. package/.tap/test-results/test/hooks.on-listen.test.js.tap +311 -0
  66. package/.tap/test-results/test/hooks.on-ready.test.js.tap +151 -0
  67. package/.tap/test-results/test/hooks.test.js.tap +966 -0
  68. package/.tap/test-results/test/http2/closing.test.js.tap +35 -0
  69. package/.tap/test-results/test/http2/constraint.test.js.tap +32 -0
  70. package/.tap/test-results/test/http2/head.test.js.tap +9 -0
  71. package/.tap/test-results/test/http2/missing-http2-module.test.js.tap +8 -0
  72. package/.tap/test-results/test/http2/plain.test.js.tap +22 -0
  73. package/.tap/test-results/test/http2/secure-with-fallback.test.js.tap +40 -0
  74. package/.tap/test-results/test/http2/secure.test.js.tap +27 -0
  75. package/.tap/test-results/test/http2/unknown-http-method.test.js.tap +9 -0
  76. package/.tap/test-results/test/https/custom-https-server.test.js.tap +10 -0
  77. package/.tap/test-results/test/https/https.test.js.tap +45 -0
  78. package/.tap/test-results/test/imports.test.js.tap +14 -0
  79. package/.tap/test-results/test/inject.test.js.tap +165 -0
  80. package/.tap/test-results/test/internals/all.test.js.tap +42 -0
  81. package/.tap/test-results/test/internals/contentTypeParser.test.js.tap +14 -0
  82. package/.tap/test-results/test/internals/context.test.js.tap +14 -0
  83. package/.tap/test-results/test/internals/decorator.test.js.tap +51 -0
  84. package/.tap/test-results/test/internals/errors.test.js.tap +1212 -0
  85. package/.tap/test-results/test/internals/handleRequest.test.js.tap +69 -0
  86. package/.tap/test-results/test/internals/hookRunner.test.js.tap +143 -0
  87. package/.tap/test-results/test/internals/hooks.test.js.tap +45 -0
  88. package/.tap/test-results/test/internals/initialConfig.test.js.tap +125 -0
  89. package/.tap/test-results/test/internals/logger.test.js.tap +71 -0
  90. package/.tap/test-results/test/internals/plugin.test.js.tap +48 -0
  91. package/.tap/test-results/test/internals/reply-serialize.test.js.tap +166 -0
  92. package/.tap/test-results/test/internals/reply.test.js.tap +688 -0
  93. package/.tap/test-results/test/internals/reqIdGenFactory.test.js.tap +74 -0
  94. package/.tap/test-results/test/internals/request-validate.test.js.tap +384 -0
  95. package/.tap/test-results/test/internals/request.test.js.tap +163 -0
  96. package/.tap/test-results/test/internals/server.test.js.tap +30 -0
  97. package/.tap/test-results/test/internals/validation.test.js.tap +121 -0
  98. package/.tap/test-results/test/keepAliveTimeout.test.js.tap +12 -0
  99. package/.tap/test-results/test/listen.1.test.js.tap +31 -0
  100. package/.tap/test-results/test/listen.2.test.js.tap +46 -0
  101. package/.tap/test-results/test/listen.3.test.js.tap +25 -0
  102. package/.tap/test-results/test/listen.4.test.js.tap +51 -0
  103. package/.tap/test-results/test/lock.test.js.tap +29 -0
  104. package/.tap/test-results/test/logger/instantiation.test.js.tap +92 -0
  105. package/.tap/test-results/test/logger/logging.test.js.tap +117 -0
  106. package/.tap/test-results/test/logger/options.test.js.tap +165 -0
  107. package/.tap/test-results/test/logger/request.test.js.tap +82 -0
  108. package/.tap/test-results/test/logger/response.test.js.tap +38 -0
  109. package/.tap/test-results/test/maxRequestsPerSocket.test.js.tap +44 -0
  110. package/.tap/test-results/test/method-missing.test.js.tap +8 -0
  111. package/.tap/test-results/test/middleware.test.js.tap +17 -0
  112. package/.tap/test-results/test/mkcalendar.test.js.tap +43 -0
  113. package/.tap/test-results/test/mkcol.test.js.tap +14 -0
  114. package/.tap/test-results/test/move.test.js.tap +15 -0
  115. package/.tap/test-results/test/noop-set.test.js.tap +8 -0
  116. package/.tap/test-results/test/nullable-validation.test.js.tap +36 -0
  117. package/.tap/test-results/test/options.error-handler.test.js.tap +186 -0
  118. package/.tap/test-results/test/options.test.js.tap +174 -0
  119. package/.tap/test-results/test/output-validation.test.js.tap +66 -0
  120. package/.tap/test-results/test/patch.error-handler.test.js.tap +206 -0
  121. package/.tap/test-results/test/patch.test.js.tap +182 -0
  122. package/.tap/test-results/test/plugin.1.test.js.tap +78 -0
  123. package/.tap/test-results/test/plugin.2.test.js.tap +102 -0
  124. package/.tap/test-results/test/plugin.3.test.js.tap +58 -0
  125. package/.tap/test-results/test/plugin.4.test.js.tap +164 -0
  126. package/.tap/test-results/test/post-empty-body.test.js.tap +8 -0
  127. package/.tap/test-results/test/pretty-print.test.js.tap +82 -0
  128. package/.tap/test-results/test/promises.test.js.tap +46 -0
  129. package/.tap/test-results/test/propfind.test.js.tap +43 -0
  130. package/.tap/test-results/test/proppatch.test.js.tap +29 -0
  131. package/.tap/test-results/test/proto-poisoning.test.js.tap +47 -0
  132. package/.tap/test-results/test/put.error-handler.test.js.tap +206 -0
  133. package/.tap/test-results/test/put.test.js.tap +182 -0
  134. package/.tap/test-results/test/register.test.js.tap +61 -0
  135. package/.tap/test-results/test/reply-code.test.js.tap +40 -0
  136. package/.tap/test-results/test/reply-earlyHints.test.js.tap +22 -0
  137. package/.tap/test-results/test/reply-error.test.js.tap +643 -0
  138. package/.tap/test-results/test/reply-trailers.test.js.tap +176 -0
  139. package/.tap/test-results/test/report.test.js.tap +43 -0
  140. package/.tap/test-results/test/request-error.test.js.tap +98 -0
  141. package/.tap/test-results/test/request-id.test.js.tap +38 -0
  142. package/.tap/test-results/test/request.deprecated.test.js.tap +13 -0
  143. package/.tap/test-results/test/requestTimeout.test.js.tap +21 -0
  144. package/.tap/test-results/test/route-hooks.test.js.tap +498 -0
  145. package/.tap/test-results/test/route-prefix.test.js.tap +195 -0
  146. package/.tap/test-results/test/route-shorthand.test.js.tap +190 -0
  147. package/.tap/test-results/test/route.1.test.js.tap +93 -0
  148. package/.tap/test-results/test/route.2.test.js.tap +28 -0
  149. package/.tap/test-results/test/route.3.test.js.tap +39 -0
  150. package/.tap/test-results/test/route.4.test.js.tap +32 -0
  151. package/.tap/test-results/test/route.5.test.js.tap +54 -0
  152. package/.tap/test-results/test/route.6.test.js.tap +81 -0
  153. package/.tap/test-results/test/route.7.test.js.tap +93 -0
  154. package/.tap/test-results/test/route.8.test.js.tap +38 -0
  155. package/.tap/test-results/test/router-options.test.js.tap +104 -0
  156. package/.tap/test-results/test/same-shape.test.js.tap +22 -0
  157. package/.tap/test-results/test/schema-examples.test.js.tap +85 -0
  158. package/.tap/test-results/test/schema-feature.test.js.tap +445 -0
  159. package/.tap/test-results/test/schema-serialization.test.js.tap +194 -0
  160. package/.tap/test-results/test/schema-special-usage.test.js.tap +186 -0
  161. package/.tap/test-results/test/schema-validation.test.js.tap +199 -0
  162. package/.tap/test-results/test/search.test.js.tap +77 -0
  163. package/.tap/test-results/test/serialize-response.test.js.tap +26 -0
  164. package/.tap/test-results/test/server.test.js.tap +65 -0
  165. package/.tap/test-results/test/set-error-handler.test.js.tap +7 -0
  166. package/.tap/test-results/test/skip-reply-send.test.js.tap +272 -0
  167. package/.tap/test-results/test/stream.1.test.js.tap +36 -0
  168. package/.tap/test-results/test/stream.2.test.js.tap +20 -0
  169. package/.tap/test-results/test/stream.3.test.js.tap +34 -0
  170. package/.tap/test-results/test/stream.4.test.js.tap +40 -0
  171. package/.tap/test-results/test/stream.5.test.js.tap +37 -0
  172. package/.tap/test-results/test/sync-routes.test.js.tap +19 -0
  173. package/.tap/test-results/test/throw.test.js.tap +116 -0
  174. package/.tap/test-results/test/trace.test.js.tap +7 -0
  175. package/.tap/test-results/test/trust-proxy.test.js.tap +109 -0
  176. package/.tap/test-results/test/type-provider.test.js.tap +12 -0
  177. package/.tap/test-results/test/unlock.test.js.tap +14 -0
  178. package/.tap/test-results/test/upgrade.test.js.tap +8 -0
  179. package/.tap/test-results/test/url-rewriting.test.js.tap +39 -0
  180. package/.tap/test-results/test/useSemicolonDelimiter.test.js.tap +33 -0
  181. package/.tap/test-results/test/validation-error-handling.test.js.tap +180 -0
  182. package/.tap/test-results/test/versioned-routes.test.js.tap +151 -0
  183. package/.tap/test-results/test/web-api.test.js.tap +51 -0
  184. package/.tap/test-results/test/wrapThenable.test.js.tap +11 -0
  185. package/.taprc +4 -8
  186. package/README.md +3 -6
  187. package/build/build-error-serializer.js +4 -1
  188. package/build/build-validation.js +5 -4
  189. package/docs/Guides/Database.md +1 -1
  190. package/docs/Guides/Delay-Accepting-Requests.md +3 -3
  191. package/docs/Guides/Ecosystem.md +2 -0
  192. package/docs/Guides/Migration-Guide-V5.md +20 -0
  193. package/docs/Guides/Write-Type-Provider.md +4 -2
  194. package/docs/Reference/ContentTypeParser.md +30 -1
  195. package/docs/Reference/Decorators.md +42 -16
  196. package/docs/Reference/Errors.md +10 -2
  197. package/docs/Reference/Hooks.md +48 -14
  198. package/docs/Reference/Logging.md +5 -5
  199. package/docs/Reference/Reply.md +29 -24
  200. package/docs/Reference/Request.md +5 -1
  201. package/docs/Reference/Routes.md +24 -28
  202. package/docs/Reference/Server.md +14 -53
  203. package/docs/Reference/Type-Providers.md +21 -26
  204. package/docs/Reference/TypeScript.md +46 -29
  205. package/docs/Reference/Warnings.md +2 -8
  206. package/eslint.config.js +27 -0
  207. package/examples/typescript-server.ts +14 -14
  208. package/fastify.d.ts +15 -14
  209. package/fastify.js +41 -15
  210. package/lib/configValidator.js +94 -76
  211. package/lib/contentTypeParser.js +54 -88
  212. package/lib/decorate.js +3 -7
  213. package/lib/error-serializer.js +77 -19
  214. package/lib/errors.js +31 -6
  215. package/lib/handleRequest.js +70 -39
  216. package/lib/httpMethods.js +34 -18
  217. package/lib/logger.js +24 -6
  218. package/lib/pluginUtils.js +5 -5
  219. package/lib/reply.js +16 -13
  220. package/lib/request.js +37 -19
  221. package/lib/route.js +7 -31
  222. package/lib/server.js +62 -123
  223. package/lib/warnings.js +28 -27
  224. package/lib/wrapThenable.js +46 -22
  225. package/package.json +38 -58
  226. package/test/404s.test.js +8 -12
  227. package/test/async-await.test.js +46 -2
  228. package/test/build/error-serializer.test.js +4 -2
  229. package/test/check.test.js +225 -0
  230. package/test/close-pipelining.test.js +2 -34
  231. package/test/close.test.js +1 -41
  232. package/test/content-parser.test.js +69 -117
  233. package/test/custom-parser.1.test.js +40 -1
  234. package/test/decorator-namespace.test._js_ +31 -0
  235. package/test/decorator.test.js +92 -43
  236. package/test/delete.test.js +21 -1
  237. package/test/diagnostics-channel/404.test.js +57 -0
  238. package/test/diagnostics-channel/async-delay-request.test.js +74 -0
  239. package/test/diagnostics-channel/async-request.test.js +72 -0
  240. package/test/diagnostics-channel/error-before-handler.test.js +36 -0
  241. package/test/diagnostics-channel/error-request.test.js +61 -0
  242. package/test/diagnostics-channel/error-status.test.js +39 -0
  243. package/test/{diagnostics-channel.test.js → diagnostics-channel/init.test.js} +6 -16
  244. package/test/diagnostics-channel/sync-delay-request.test.js +58 -0
  245. package/test/diagnostics-channel/sync-request-reply.test.js +58 -0
  246. package/test/diagnostics-channel/sync-request.test.js +61 -0
  247. package/test/encapsulated-error-handler.test.js +201 -14
  248. package/test/esm/index.test.js +2 -12
  249. package/test/findRoute.test.js +16 -0
  250. package/test/genReqId.test.js +9 -0
  251. package/test/get.test.js +28 -0
  252. package/test/has-route.test.js +18 -2
  253. package/test/helper.js +1 -5
  254. package/test/hooks.test.js +0 -4
  255. package/test/http2/constraint.test.js +22 -1
  256. package/test/http2/plain.test.js +21 -6
  257. package/test/http2/secure.test.js +12 -1
  258. package/test/https/https.test.js +57 -0
  259. package/test/inject.test.js +1 -2
  260. package/test/internals/decorator.test.js +0 -2
  261. package/test/internals/errors.test.js +57 -17
  262. package/test/internals/handleRequest.test.js +5 -1
  263. package/test/internals/initialConfig.test.js +5 -5
  264. package/test/internals/logger.test.js +31 -2
  265. package/test/internals/reply.test.js +38 -80
  266. package/test/internals/request.test.js +13 -11
  267. package/test/listen.1.test.js +5 -15
  268. package/test/listen.5.test.js +88 -0
  269. package/test/logger/instantiation.test.js +8 -8
  270. package/test/logger/logging.test.js +4 -4
  271. package/test/logger/options.test.js +102 -21
  272. package/test/logger/response.test.js +6 -6
  273. package/test/maxRequestsPerSocket.test.js +2 -5
  274. package/test/method-missing.test.js +24 -0
  275. package/test/plugin.1.test.js +2 -4
  276. package/test/plugin.2.test.js +0 -2
  277. package/test/plugin.3.test.js +0 -2
  278. package/test/plugin.4.test.js +92 -56
  279. package/test/register.test.js +2 -4
  280. package/test/reply-earlyHints.test.js +98 -0
  281. package/test/reply-error.test.js +0 -2
  282. package/test/route-hooks.test.js +0 -1
  283. package/test/route-shorthand.test.js +60 -0
  284. package/test/schema-special-usage.test.js +1 -1
  285. package/test/server.test.js +17 -2
  286. package/test/stream.2.test.js +1 -1
  287. package/test/stream.4.test.js +0 -42
  288. package/test/stream.5.test.js +2 -2
  289. package/test/trust-proxy.test.js +33 -27
  290. package/test/types/errors.test-d.ts +0 -2
  291. package/test/types/fastify.test-d.ts +14 -12
  292. package/test/types/hooks.test-d.ts +1 -0
  293. package/test/types/import.ts +1 -0
  294. package/test/types/instance.test-d.ts +10 -51
  295. package/test/types/logger.test-d.ts +43 -6
  296. package/test/types/plugin.test-d.ts +5 -2
  297. package/test/types/register.test-d.ts +2 -2
  298. package/test/types/reply.test-d.ts +13 -12
  299. package/test/types/request.test-d.ts +19 -8
  300. package/test/types/route.test-d.ts +30 -2
  301. package/test/types/schema.test-d.ts +2 -2
  302. package/test/types/serverFactory.test-d.ts +1 -1
  303. package/test/types/type-provider.test-d.ts +60 -13
  304. package/test/types/using.test-d.ts +4 -1
  305. package/test/url-rewriting.test.js +3 -2
  306. package/test/useSemicolonDelimiter.test.js +3 -6
  307. package/test/versioned-routes.test.js +1 -1
  308. package/test/web-api.test.js +0 -6
  309. package/types/content-type-parser.d.ts +3 -3
  310. package/types/context.d.ts +0 -1
  311. package/types/errors.d.ts +1 -0
  312. package/types/hooks.d.ts +6 -6
  313. package/types/instance.d.ts +28 -41
  314. package/types/logger.d.ts +3 -3
  315. package/types/plugin.d.ts +3 -3
  316. package/types/reply.d.ts +13 -14
  317. package/types/request.d.ts +5 -3
  318. package/types/route.d.ts +29 -29
  319. package/types/schema.d.ts +3 -3
  320. package/types/serverFactory.d.ts +2 -2
  321. package/types/type-provider.d.ts +22 -12
  322. package/types/utils.d.ts +18 -18
  323. package/.c8rc.json +0 -8
  324. package/.eslintrc +0 -4
  325. package/test/default-route.test.js +0 -88
  326. package/test/listen.deprecated.test.js +0 -229
  327. package/test/unsupported-httpversion.test.js +0 -31
  328. package/types/.eslintrc.json +0 -48
@@ -0,0 +1,176 @@
1
+ TAP version 14
2
+ # Subtest: send trailers when payload is empty string
3
+ 1..5
4
+ ok 1 - should not error
5
+ ok 2 - should be equal
6
+ ok 3 - should be equal
7
+ ok 4 - should be equal
8
+ ok 5 - all provided fields should not be equivalent
9
+ ok 1 - send trailers when payload is empty string # time=23.162ms
10
+
11
+ # Subtest: send trailers when payload is empty buffer
12
+ 1..5
13
+ ok 1 - should not error
14
+ ok 2 - should be equal
15
+ ok 3 - should be equal
16
+ ok 4 - should be equal
17
+ ok 5 - all provided fields should not be equivalent
18
+ ok 2 - send trailers when payload is empty buffer # time=2.219ms
19
+
20
+ # Subtest: send trailers when payload is undefined
21
+ 1..5
22
+ ok 1 - should not error
23
+ ok 2 - should be equal
24
+ ok 3 - should be equal
25
+ ok 4 - should be equal
26
+ ok 5 - all provided fields should not be equivalent
27
+ ok 3 - send trailers when payload is undefined # time=1.635ms
28
+
29
+ # Subtest: send trailers when payload is json
30
+ 1..7
31
+ ok 1 - should be equal
32
+ ok 2 - should not error
33
+ ok 3 - should be equal
34
+ ok 4 - should be equal
35
+ ok 5 - should be equal
36
+ ok 6 - should be equal
37
+ ok 7 - all provided fields should not be equivalent
38
+ ok 4 - send trailers when payload is json # time=14.877ms
39
+
40
+ # Subtest: send trailers when payload is stream
41
+ 1..7
42
+ ok 1 - should be equivalent
43
+ ok 2 - should not error
44
+ ok 3 - should be equal
45
+ ok 4 - should be equal
46
+ ok 5 - should be equal
47
+ ok 6 - should be equal
48
+ ok 7 - all provided fields should not be equivalent
49
+ ok 5 - send trailers when payload is stream # time=14.122ms
50
+
51
+ # Subtest: send trailers when using async-await
52
+ 1..5
53
+ ok 1 - should not error
54
+ ok 2 - should be equal
55
+ ok 3 - should be equal
56
+ ok 4 - should be equal
57
+ ok 5 - all provided fields should not be equivalent
58
+ ok 6 - send trailers when using async-await # time=2.074ms
59
+
60
+ # Subtest: error in trailers should be ignored
61
+ 1..5
62
+ ok 1 - should not error
63
+ ok 2 - should be equal
64
+ ok 3 - should be equal
65
+ ok 4 - all provided fields should not be equivalent
66
+ ok 5 - all provided fields should not be equivalent
67
+ ok 7 - error in trailers should be ignored # time=1.706ms
68
+
69
+ # Subtest: should emit deprecation warning when using direct return
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 be equal
77
+ ok 7 - all provided fields should not be equivalent
78
+ ok 8 - should emit deprecation warning when using direct return # time=2.915ms
79
+
80
+ # Subtest: trailer handler counter
81
+ 1..2
82
+ # Subtest: callback with timeout
83
+ 1..9
84
+ ok 1 - should be equal
85
+ ok 2 - should be equal
86
+ ok 3 - should not error
87
+ ok 4 - should be equal
88
+ ok 5 - should be equal
89
+ ok 6 - should be equal
90
+ ok 7 - should be equal
91
+ ok 8 - should be equal
92
+ ok 9 - all provided fields should not be equivalent
93
+ ok 1 - callback with timeout # time=503.487ms
94
+
95
+ # Subtest: async-await
96
+ 1..9
97
+ ok 1 - should be equal
98
+ ok 2 - should be equal
99
+ ok 3 - should not error
100
+ ok 4 - should be equal
101
+ ok 5 - should be equal
102
+ ok 6 - should be equal
103
+ ok 7 - should be equal
104
+ ok 8 - should be equal
105
+ ok 9 - all provided fields should not be equivalent
106
+ ok 2 - async-await # time=503.088ms
107
+
108
+ ok 9 - trailer handler counter # time=1016.298ms
109
+
110
+ # Subtest: removeTrailer
111
+ 1..6
112
+ ok 1 - should not error
113
+ ok 2 - should be equal
114
+ ok 3 - should be equal
115
+ ok 4 - should be equal
116
+ ok 5 - should be equal
117
+ ok 6 - all provided fields should not be equivalent
118
+ ok 10 - removeTrailer # time=1.772ms
119
+
120
+ # Subtest: remove all trailers
121
+ 1..6
122
+ ok 1 - should not error
123
+ ok 2 - should be equal
124
+ ok 3 - should be equal
125
+ ok 4 - should be equal
126
+ ok 5 - should be equal
127
+ ok 6 - all provided fields should not be equivalent
128
+ ok 11 - remove all trailers # time=1.641ms
129
+
130
+ # Subtest: hasTrailer
131
+ 1..10
132
+ ok 1 - should be equal
133
+ ok 2 - should be equal
134
+ ok 3 - should be equal
135
+ ok 4 - should be equal
136
+ ok 5 - should not error
137
+ ok 6 - should be equal
138
+ ok 7 - should be equal
139
+ ok 8 - should be equal
140
+ ok 9 - should be equal
141
+ ok 10 - all provided fields should not be equivalent
142
+ ok 12 - hasTrailer # time=1.549ms
143
+
144
+ # Subtest: throw error when trailer header name is not allowed
145
+ 1..14
146
+ ok 1 - should be equal
147
+ ok 2 - should be equal
148
+ ok 3 - should be equal
149
+ ok 4 - should be equal
150
+ ok 5 - should be equal
151
+ ok 6 - should be equal
152
+ ok 7 - should be equal
153
+ ok 8 - should be equal
154
+ ok 9 - should be equal
155
+ ok 10 - should be equal
156
+ ok 11 - should be equal
157
+ ok 12 - should be equal
158
+ ok 13 - should not error
159
+ ok 14 - should be equal
160
+ ok 13 - throw error when trailer header name is not allowed # time=2.783ms
161
+
162
+ # Subtest: throw error when trailer header value is not function
163
+ 1..10
164
+ ok 1 - should be equal
165
+ ok 2 - should be equal
166
+ ok 3 - should be equal
167
+ ok 4 - should be equal
168
+ ok 5 - should be equal
169
+ ok 6 - should be equal
170
+ ok 7 - should be equal
171
+ ok 8 - should be equal
172
+ ok 9 - should not error
173
+ ok 10 - should be equal
174
+ ok 14 - throw error when trailer header value is not function # time=6.415ms
175
+
176
+ 1..14
@@ -0,0 +1,43 @@
1
+ TAP version 14
2
+ # Subtest: can be created - report
3
+ 1..1
4
+ ok 1 - (unnamed test)
5
+ ok 1 - can be created - report # time=6.296ms
6
+
7
+ ok 2 - should not error
8
+ # Subtest: request - report
9
+ 1..3
10
+ ok 1 - should not error
11
+ ok 2 - should be equal
12
+ ok 3 - should be equal
13
+ ok 3 - request - report # time=14.529ms
14
+
15
+ # Subtest: request with other path - report
16
+ 1..3
17
+ ok 1 - should not error
18
+ ok 2 - should be equal
19
+ ok 3 - should be equal
20
+ ok 4 - request with other path - report # time=8.252ms
21
+
22
+ # Subtest: request with body - report
23
+ 1..3
24
+ ok 1 - should not error
25
+ ok 2 - should be equal
26
+ ok 3 - should be equal
27
+ ok 5 - request with body - report # time=2.255ms
28
+
29
+ # Subtest: request with body and no content type (415 error) - report
30
+ 1..3
31
+ ok 1 - should not error
32
+ ok 2 - should be equal
33
+ ok 3 - should be equal
34
+ ok 6 - request with body and no content type (415 error) - report # time=1.489ms
35
+
36
+ # Subtest: request without body - report
37
+ 1..3
38
+ ok 1 - should not error
39
+ ok 2 - should be equal
40
+ ok 3 - should be equal
41
+ ok 7 - request without body - report # time=0.726ms
42
+
43
+ 1..7
@@ -0,0 +1,98 @@
1
+ TAP version 14
2
+ # Subtest: default 400 on request error
3
+ 1..4
4
+ ok 1 - should not error
5
+ ok 2 - should be equal
6
+ ok 3 - should be equal
7
+ ok 4 - should be equivalent
8
+ ok 1 - default 400 on request error # time=24.099ms
9
+
10
+ # Subtest: default 400 on request error with custom error handler
11
+ 1..6
12
+ ok 1 - type is object
13
+ ok 2 - type is Request
14
+ ok 3 - should not error
15
+ ok 4 - should be equal
16
+ ok 5 - should be equal
17
+ ok 6 - should be equivalent
18
+ ok 2 - default 400 on request error with custom error handler # time=6.139ms
19
+
20
+ # Subtest: default clientError handler ignores ECONNRESET
21
+ 1..3
22
+ ok 1 - should not error
23
+ ok 2 - should match pattern
24
+ ok 3 - should not match pattern
25
+ ok 3 - default clientError handler ignores ECONNRESET # time=22.018ms
26
+
27
+ # Subtest: default clientError handler ignores sockets in destroyed state
28
+ 1..1
29
+ ok 1 - (unnamed test)
30
+ ok 4 - default clientError handler ignores sockets in destroyed state # time=0.606ms
31
+
32
+ # Subtest: default clientError handler destroys sockets in writable state
33
+ 1..2
34
+ ok 1 - should match pattern
35
+ ok 2 - destroy should be called
36
+ ok 5 - default clientError handler destroys sockets in writable state # time=0.463ms
37
+
38
+ # Subtest: default clientError handler destroys http sockets in non-writable state
39
+ 1..1
40
+ ok 1 - destroy should be called
41
+ ok 6 - default clientError handler destroys http sockets in non-writable state # time=0.344ms
42
+
43
+ # Subtest: error handler binding
44
+ 1..5
45
+ ok 1 - should be equal
46
+ ok 2 - should not error
47
+ ok 3 - should be equal
48
+ ok 4 - should be equal
49
+ ok 5 - should be equivalent
50
+ ok 7 - error handler binding # time=2.159ms
51
+
52
+ # Subtest: encapsulated error handler binding
53
+ 1..7
54
+ ok 1 - should be equal
55
+ ok 2 - should be equal
56
+ ok 3 - should not error
57
+ ok 4 - should be equal
58
+ ok 5 - should be equal
59
+ ok 6 - should be equivalent
60
+ ok 7 - should be equal
61
+ ok 8 - encapsulated error handler binding # time=3.184ms
62
+
63
+ # Subtest: default clientError replies with bad request on reused keep-alive connection
64
+ 1..2
65
+ ok 1 - should not error
66
+ ok 2 - should match pattern
67
+ ok 9 - default clientError replies with bad request on reused keep-alive connection # time=5.156ms
68
+
69
+ # Subtest: request.routeOptions should be immutable
70
+ 1..14
71
+ ok 1 - should not error
72
+ ok 2 - should be equal
73
+ ok 3 - should be equal
74
+ ok 4 - expected to throw
75
+ ok 5 - expected to throw
76
+ ok 6 - expected to throw
77
+ ok 7 - expected to throw
78
+ ok 8 - expected to throw
79
+ ok 9 - expected to throw
80
+ ok 10 - expected to throw
81
+ ok 11 - expected to throw
82
+ ok 12 - expected to throw
83
+ ok 13 - should not error
84
+ ok 14 - should be equal
85
+ ok 10 - request.routeOptions should be immutable # time=11.042ms
86
+
87
+ # Subtest: test request.routeOptions.version
88
+ 1..7
89
+ ok 1 - should not error
90
+ ok 2 - should be equal
91
+ ok 3 - should not error
92
+ ok 4 - should be equal
93
+ ok 5 - should be equal
94
+ ok 6 - should not error
95
+ ok 7 - should be equal
96
+ ok 11 - test request.routeOptions.version # time=6.546ms
97
+
98
+ 1..11
@@ -0,0 +1,38 @@
1
+ TAP version 14
2
+ # Subtest: The request id header key can be customized
3
+ 1..2
4
+ ok 1 - should be equal
5
+ ok 2 - should be equal
6
+ ok 1 - The request id header key can be customized # time=18.391ms
7
+
8
+ # Subtest: The request id header key can be customized
9
+ 1..2
10
+ ok 1 - should be equal
11
+ ok 2 - should be equal
12
+ ok 2 - The request id header key can be customized # time=1.641ms
13
+
14
+ # Subtest: The request id header key can be customized
15
+ 1..4
16
+ ok 1 - should not error
17
+ ok 2 - should be equal
18
+ ok 3 - should not error
19
+ ok 4 - should be equal
20
+ ok 3 - The request id header key can be customized # time=21.205ms
21
+
22
+ # Subtest: The request id header key can be customized
23
+ 1..4
24
+ ok 1 - should not error
25
+ ok 2 - should be equal
26
+ ok 3 - should not error
27
+ ok 4 - should be equal
28
+ ok 4 - The request id header key can be customized # time=4.721ms
29
+
30
+ # Subtest: The request id header key can be customized
31
+ 1..4
32
+ ok 1 - should not error
33
+ ok 2 - should be equal
34
+ ok 3 - should not error
35
+ ok 4 - should be equal
36
+ ok 5 - The request id header key can be customized # time=3.677ms
37
+
38
+ 1..5
@@ -0,0 +1,13 @@
1
+ TAP version 14
2
+ # Subtest: Should expose router options via getters on request and reply
3
+ 1..7
4
+ ok 1 - should be equal
5
+ ok 2 - should be equal
6
+ ok 3 - should be equivalent
7
+ ok 4 - should be equal
8
+ ok 5 - should be equal
9
+ ok 6 - should not error
10
+ ok 7 - should be equal
11
+ ok 1 - Should expose router options via getters on request and reply # time=43.775ms
12
+
13
+ 1..1
@@ -0,0 +1,21 @@
1
+ TAP version 14
2
+ # Subtest: requestTimeout passed to server
3
+ 1..5
4
+ ok 1 - should be equal
5
+ ok 2 - should be equal
6
+ ok 3 - should be equal
7
+ ok 4 - should be equal
8
+ ok 5 - should be equal
9
+ ok 1 - requestTimeout passed to server # time=24.185ms
10
+
11
+ # Subtest: requestTimeout should be set
12
+ 1..1
13
+ ok 1 - should be equivalent
14
+ ok 2 - requestTimeout should be set # time=0.835ms
15
+
16
+ # Subtest: requestTimeout should 0
17
+ 1..1
18
+ ok 1 - should be equivalent
19
+ ok 3 - requestTimeout should 0 # time=0.421ms
20
+
21
+ 1..3