@zudojs/http 0.1.0 → 1.1.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 (1070) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -7
  3. package/dist/httpAdapter/fetch/httpFetch.helper.d.ts +19 -0
  4. package/dist/httpAdapter/fetch/httpFetch.helper.js +35 -0
  5. package/dist/httpAdapter/fetch/httpFetch.requestContext.d.ts +20 -0
  6. package/dist/httpAdapter/fetch/httpFetch.requestContext.js +72 -0
  7. package/dist/httpAdapter/fetch/httpFetch.responseWriter.d.ts +31 -0
  8. package/dist/httpAdapter/fetch/httpFetch.responseWriter.js +69 -0
  9. package/dist/httpAdapter/fetch/httpFetch.type.d.ts +30 -0
  10. package/dist/httpAdapter/fetch/httpFetch.type.js +7 -0
  11. package/dist/httpAdapter/fetch/index.d.ts +11 -0
  12. package/dist/httpAdapter/fetch/index.js +11 -0
  13. package/dist/httpAdapter/http.adapter.d.ts +20 -0
  14. package/dist/httpAdapter/http.adapter.js +23 -4
  15. package/dist/httpAdapter/http.adapters.d.ts +71 -0
  16. package/dist/httpAdapter/httpAdapter.errorResponse.d.ts +35 -0
  17. package/dist/httpAdapter/httpAdapter.errorResponse.js +120 -0
  18. package/dist/httpAdapter/httpFetch.adapter.d.ts +11 -0
  19. package/dist/httpAdapter/httpFetch.adapter.js +10 -0
  20. package/dist/httpAdapter/node/httpNode.adapter.d.ts +29 -0
  21. package/dist/httpAdapter/node/httpNode.adapter.js +161 -23
  22. package/dist/httpAdapter/node/httpNode.request.d.ts +33 -0
  23. package/dist/httpAdapter/node/httpNode.request.js +183 -0
  24. package/dist/httpAdapter/node/httpNode.response.d.ts +27 -0
  25. package/dist/httpAdapter/node/httpNode.response.js +93 -0
  26. package/dist/httpAdapter/node/httpNode.server.d.ts +18 -1
  27. package/dist/httpAdapter/node/httpNode.server.js +42 -3
  28. package/dist/httpAdapter/node/httpNode.type.d.ts +84 -0
  29. package/dist/httpAdapter/node/httpNode.type.js +44 -0
  30. package/dist/httpAgent/http.agent.d.ts +63 -0
  31. package/dist/httpAgent/http.agent.js +297 -0
  32. package/dist/httpBody/http.body.d.ts +31 -2
  33. package/dist/httpBody/http.body.js +77 -17
  34. package/dist/httpBody/httpBody.formData.d.ts +15 -0
  35. package/dist/httpBody/httpBody.formData.js +75 -163
  36. package/dist/httpBody/httpBody.parser.d.ts +12 -0
  37. package/dist/httpBody/httpBody.parser.js +44 -14
  38. package/dist/httpCacheControl/core/httpCacheControl.parse.d.ts +27 -0
  39. package/dist/httpCacheControl/core/httpCacheControl.parse.js +229 -0
  40. package/dist/httpCacheControl/core/httpCacheControl.type.d.ts +54 -0
  41. package/dist/httpCacheControl/core/httpCacheControl.type.js +8 -0
  42. package/dist/httpCacheControl/core/httpCacheControl.validation.d.ts +13 -0
  43. package/dist/httpCacheControl/core/httpCacheControl.validation.js +87 -0
  44. package/dist/httpCacheControl/core/index.d.ts +9 -0
  45. package/dist/httpCacheControl/core/index.js +9 -0
  46. package/dist/httpCacheControl/httpCacheControl.core.d.ts +13 -0
  47. package/dist/httpCacheControl/httpCacheControl.core.js +13 -0
  48. package/dist/httpCacheControl/httpCacheControl.factory.d.ts +35 -0
  49. package/dist/httpCacheControl/httpCacheControl.factory.js +53 -0
  50. package/dist/httpCacheControl/httpCacheControl.freshness.d.ts +36 -0
  51. package/dist/httpCacheControl/httpCacheControl.freshness.js +124 -0
  52. package/dist/httpCacheControl/httpCacheControl.requestHelper.d.ts +39 -0
  53. package/dist/httpCacheControl/httpCacheControl.requestHelper.js +56 -0
  54. package/dist/httpCacheControl/httpCacheControl.responseHelper.d.ts +40 -0
  55. package/dist/httpCacheControl/httpCacheControl.responseHelper.js +87 -0
  56. package/dist/httpClient/httpClient.abort.d.ts +7 -0
  57. package/dist/httpClient/httpClient.abort.js +34 -0
  58. package/dist/httpClient/httpClient.body.d.ts +8 -0
  59. package/dist/httpClient/httpClient.body.js +53 -0
  60. package/dist/httpClient/httpClient.client.d.ts +24 -0
  61. package/dist/httpClient/httpClient.client.js +84 -0
  62. package/dist/httpClient/httpClient.context.d.ts +8 -0
  63. package/dist/httpClient/httpClient.context.js +42 -0
  64. package/dist/httpClient/httpClient.errorNormalizer.d.ts +8 -0
  65. package/dist/httpClient/httpClient.errorNormalizer.js +32 -0
  66. package/dist/httpClient/httpClient.executor.d.ts +14 -0
  67. package/dist/httpClient/httpClient.executor.js +179 -0
  68. package/dist/httpClient/httpClient.factory.d.ts +10 -0
  69. package/dist/httpClient/httpClient.factory.js +13 -0
  70. package/dist/httpClient/httpClient.headers.d.ts +7 -0
  71. package/dist/httpClient/httpClient.headers.js +16 -0
  72. package/dist/httpClient/httpClient.helpers.d.ts +18 -0
  73. package/dist/httpClient/httpClient.helpers.js +59 -0
  74. package/dist/httpClient/httpClient.interceptors.d.ts +10 -0
  75. package/dist/httpClient/httpClient.interceptors.js +25 -0
  76. package/dist/httpClient/httpClient.methods.d.ts +15 -0
  77. package/dist/httpClient/httpClient.methods.js +27 -0
  78. package/dist/httpClient/httpClient.response.d.ts +8 -0
  79. package/dist/httpClient/httpClient.response.js +78 -0
  80. package/dist/httpClient/httpClient.retry.d.ts +1 -1
  81. package/dist/httpClient/httpClient.retry.js +36 -7
  82. package/dist/httpClient/httpClient.type.d.ts +88 -0
  83. package/dist/httpClient/httpClient.type.js +7 -0
  84. package/dist/httpClient/httpClient.typeGuards.d.ts +14 -0
  85. package/dist/httpClient/httpClient.typeGuards.js +23 -0
  86. package/dist/httpClient/httpClient.url.d.ts +9 -0
  87. package/dist/httpClient/httpClient.url.js +40 -0
  88. package/dist/httpCompression/http.compression.d.ts +71 -0
  89. package/dist/httpCompression/http.compression.js +334 -0
  90. package/dist/httpConditional/httpConditional.core.d.ts +141 -0
  91. package/dist/httpConditional/httpConditional.core.js +552 -0
  92. package/dist/httpConstants/http.constants.d.ts +38 -3
  93. package/dist/httpConstants/http.constants.js +49 -7
  94. package/dist/httpContentDisposition/httpContentDisposition.core.d.ts +87 -0
  95. package/dist/httpContentDisposition/httpContentDisposition.core.js +447 -0
  96. package/dist/httpContentType/httpContentType.boundary.d.ts +8 -0
  97. package/dist/httpContentType/httpContentType.boundary.js +26 -0
  98. package/dist/httpContentType/httpContentType.category.d.ts +9 -0
  99. package/dist/httpContentType/httpContentType.category.js +23 -0
  100. package/dist/httpContentType/httpContentType.categoryBinary.d.ts +9 -0
  101. package/dist/httpContentType/httpContentType.categoryBinary.js +30 -0
  102. package/dist/httpContentType/httpContentType.charset.d.ts +8 -0
  103. package/dist/httpContentType/httpContentType.charset.js +36 -0
  104. package/dist/httpContentType/httpContentType.constructors.d.ts +10 -0
  105. package/dist/httpContentType/httpContentType.constructors.js +37 -0
  106. package/dist/httpContentType/httpContentType.formatter.d.ts +7 -0
  107. package/dist/httpContentType/httpContentType.formatter.js +44 -0
  108. package/dist/httpContentType/httpContentType.matcher.d.ts +6 -0
  109. package/dist/httpContentType/httpContentType.matcher.js +53 -0
  110. package/dist/httpContentType/httpContentType.mediaTypes.d.ts +21 -0
  111. package/dist/httpContentType/httpContentType.mediaTypes.js +21 -0
  112. package/dist/httpContentType/httpContentType.normalizer.d.ts +7 -0
  113. package/dist/httpContentType/httpContentType.normalizer.js +29 -0
  114. package/dist/httpContentType/httpContentType.parameter.d.ts +7 -0
  115. package/dist/httpContentType/httpContentType.parameter.js +20 -0
  116. package/dist/httpContentType/httpContentType.parser.d.ts +6 -0
  117. package/dist/httpContentType/httpContentType.parser.js +44 -0
  118. package/dist/httpContentType/httpContentType.parserHelpers.d.ts +21 -0
  119. package/dist/httpContentType/httpContentType.parserHelpers.js +91 -0
  120. package/dist/httpContentType/httpContentType.type.d.ts +17 -0
  121. package/dist/httpContentType/httpContentType.type.js +5 -0
  122. package/dist/httpContext/http.context.js +31 -11
  123. package/dist/httpCookies/http.cookies.d.ts +92 -0
  124. package/dist/httpCookies/http.cookies.js +417 -0
  125. package/dist/httpCors/http.cors.d.ts +152 -0
  126. package/dist/httpCors/http.cors.js +480 -0
  127. package/dist/httpCsp/checks/httpCsp.checks.d.ts +9 -0
  128. package/dist/httpCsp/checks/httpCsp.checks.js +30 -0
  129. package/dist/httpCsp/checks/index.d.ts +5 -0
  130. package/dist/httpCsp/checks/index.js +5 -0
  131. package/dist/httpCsp/formatting/httpCsp.formatting.d.ts +7 -0
  132. package/dist/httpCsp/formatting/httpCsp.formatting.js +70 -0
  133. package/dist/httpCsp/formatting/index.d.ts +5 -0
  134. package/dist/httpCsp/formatting/index.js +5 -0
  135. package/dist/httpCsp/internal/httpCsp.internal.d.ts +19 -0
  136. package/dist/httpCsp/internal/httpCsp.internal.js +81 -0
  137. package/dist/httpCsp/internal/index.d.ts +5 -0
  138. package/dist/httpCsp/internal/index.js +5 -0
  139. package/dist/httpCsp/nonce/httpCsp.nonce.d.ts +18 -0
  140. package/dist/httpCsp/nonce/httpCsp.nonce.js +82 -0
  141. package/dist/httpCsp/nonce/index.d.ts +5 -0
  142. package/dist/httpCsp/nonce/index.js +5 -0
  143. package/dist/httpCsp/parsing/httpCsp.parsing.d.ts +9 -0
  144. package/dist/httpCsp/parsing/httpCsp.parsing.js +61 -0
  145. package/dist/httpCsp/parsing/index.d.ts +5 -0
  146. package/dist/httpCsp/parsing/index.js +5 -0
  147. package/dist/httpCsp/policies/httpCsp.policies.d.ts +17 -0
  148. package/dist/httpCsp/policies/httpCsp.policies.js +52 -0
  149. package/dist/httpCsp/policies/index.d.ts +5 -0
  150. package/dist/httpCsp/policies/index.js +5 -0
  151. package/dist/httpCsp/reportOnly/httpCsp.reportOnly.d.ts +7 -0
  152. package/dist/httpCsp/reportOnly/httpCsp.reportOnly.js +17 -0
  153. package/dist/httpCsp/reportOnly/index.d.ts +5 -0
  154. package/dist/httpCsp/reportOnly/index.js +5 -0
  155. package/dist/httpCsp/sources/httpCsp.sources.d.ts +10 -0
  156. package/dist/httpCsp/sources/httpCsp.sources.js +22 -0
  157. package/dist/httpCsp/sources/index.d.ts +5 -0
  158. package/dist/httpCsp/sources/index.js +5 -0
  159. package/dist/httpCsp/types/httpCsp.constant.d.ts +9 -0
  160. package/dist/httpCsp/types/httpCsp.constant.js +39 -0
  161. package/dist/httpCsp/types/httpCsp.type.d.ts +43 -0
  162. package/dist/httpCsp/types/httpCsp.type.js +5 -0
  163. package/dist/httpCsp/types/index.d.ts +7 -0
  164. package/dist/httpCsp/types/index.js +5 -0
  165. package/dist/httpCsp/validation/httpCsp.validate.d.ts +6 -0
  166. package/dist/httpCsp/validation/httpCsp.validate.js +23 -0
  167. package/dist/httpCsp/validation/httpCsp.validation.d.ts +6 -0
  168. package/dist/httpCsp/validation/httpCsp.validation.js +14 -0
  169. package/dist/httpCsp/validation/index.d.ts +6 -0
  170. package/dist/httpCsp/validation/index.js +6 -0
  171. package/dist/httpErrors/factories/httpError.clientError.d.ts +40 -0
  172. package/dist/httpErrors/factories/httpError.clientError.js +79 -0
  173. package/dist/httpErrors/factories/httpError.serverError.d.ts +28 -0
  174. package/dist/httpErrors/factories/httpError.serverError.js +52 -0
  175. package/dist/httpErrors/httpError.base.d.ts +0 -2
  176. package/dist/httpErrors/httpError.base.js +4 -2
  177. package/dist/httpErrors/httpError.helper.d.ts +19 -0
  178. package/dist/httpErrors/httpError.helper.js +20 -0
  179. package/dist/httpErrors/httpError.invalidJson.d.ts +20 -0
  180. package/dist/httpErrors/httpError.invalidJson.js +26 -0
  181. package/dist/httpErrors/httpError.typeGuard.d.ts +23 -0
  182. package/dist/httpErrors/httpError.typeGuard.js +35 -0
  183. package/dist/httpErrors/httpError.util.d.ts +22 -0
  184. package/dist/httpErrors/httpError.util.js +36 -0
  185. package/dist/httpHeaders/authorization/httpHeaders.authorization.d.ts +34 -0
  186. package/dist/httpHeaders/authorization/httpHeaders.authorization.js +53 -0
  187. package/dist/httpHeaders/authorization/index.d.ts +0 -1
  188. package/dist/httpHeaders/authorization/index.js +0 -1
  189. package/dist/httpHeaders/basic/httpHeaders.basic.d.ts +23 -0
  190. package/dist/httpHeaders/basic/httpHeaders.basic.js +29 -0
  191. package/dist/httpHeaders/basic/httpHeaders.basicMatch.d.ts +26 -0
  192. package/dist/httpHeaders/basic/httpHeaders.basicMatch.js +45 -0
  193. package/dist/httpHeaders/conversion/httpHeaders.conversion.d.ts +31 -0
  194. package/dist/httpHeaders/conversion/httpHeaders.conversion.js +103 -0
  195. package/dist/httpHeaders/conversion/httpHeaders.conversionObject.d.ts +21 -0
  196. package/dist/httpHeaders/conversion/httpHeaders.conversionObject.js +30 -0
  197. package/dist/httpHeaders/etag/httpHeaders.etag.d.ts +27 -0
  198. package/dist/httpHeaders/etag/httpHeaders.etag.js +44 -0
  199. package/dist/httpHeaders/etag/httpHeaders.etagMatch.d.ts +26 -0
  200. package/dist/httpHeaders/etag/httpHeaders.etagMatch.js +53 -0
  201. package/dist/httpHeaders/forwarded/httpHeaders.forwarded.d.ts +35 -0
  202. package/dist/httpHeaders/forwarded/httpHeaders.forwarded.js +39 -0
  203. package/dist/httpHeaders/forwarded/index.d.ts +0 -1
  204. package/dist/httpHeaders/forwarded/index.js +0 -1
  205. package/dist/httpHeaders/http.headers.d.ts +100 -0
  206. package/dist/httpHeaders/http.headers.js +324 -0
  207. package/dist/httpHeaders/internal/httpHeaders.internal.typeGuards.d.ts +13 -0
  208. package/dist/httpHeaders/internal/httpHeaders.internal.typeGuards.js +15 -0
  209. package/dist/httpHeaders/internal/index.d.ts +0 -5
  210. package/dist/httpHeaders/internal/index.js +0 -5
  211. package/dist/httpHeaders/list/httpHeaders.list.d.ts +32 -0
  212. package/dist/httpHeaders/list/httpHeaders.list.js +82 -0
  213. package/dist/httpHeaders/list/httpHeaders.listMutation.d.ts +25 -0
  214. package/dist/httpHeaders/list/httpHeaders.listMutation.js +40 -0
  215. package/dist/httpHeaders/security/httpHeaders.security.d.ts +87 -0
  216. package/dist/httpHeaders/security/httpHeaders.security.js +135 -0
  217. package/dist/httpHeaders/security/index.d.ts +0 -1
  218. package/dist/httpHeaders/security/index.js +0 -1
  219. package/dist/httpHeaders/types/httpHeaders.type.d.ts +19 -0
  220. package/dist/httpHeaders/types/httpHeaders.type.js +7 -0
  221. package/dist/httpHsts/http.hsts.d.ts +45 -0
  222. package/dist/httpHsts/http.hsts.js +224 -0
  223. package/dist/httpInterceptors/builtin/httpInterceptor.request.d.ts +70 -0
  224. package/dist/httpInterceptors/builtin/httpInterceptor.response.d.ts +33 -0
  225. package/dist/httpInterceptors/builtin/httpInterceptor.response.js +43 -0
  226. package/dist/httpInterceptors/builtin/index.d.ts +8 -0
  227. package/dist/httpInterceptors/builtin/index.js +8 -0
  228. package/dist/httpInterceptors/http.interceptors.d.ts +11 -0
  229. package/dist/httpInterceptors/http.interceptors.js +11 -0
  230. package/dist/httpInterceptors/httpInterceptor.helper.d.ts +27 -0
  231. package/dist/httpInterceptors/httpInterceptor.helper.js +53 -0
  232. package/dist/httpInterceptors/httpInterceptor.type.d.ts +48 -0
  233. package/dist/httpInterceptors/httpInterceptor.type.js +7 -0
  234. package/dist/httpInterceptors/manager/httpInterceptor.lookup.d.ts +11 -0
  235. package/dist/httpInterceptors/manager/httpInterceptor.lookup.js +62 -0
  236. package/dist/httpInterceptors/manager/httpInterceptor.manager.d.ts +24 -0
  237. package/dist/httpInterceptors/manager/httpInterceptor.manager.js +58 -0
  238. package/dist/httpInterceptors/manager/httpInterceptor.registration.d.ts +28 -0
  239. package/dist/httpInterceptors/manager/httpInterceptor.registration.js +119 -0
  240. package/dist/httpInterceptors/manager/httpInterceptor.snapshot.d.ts +12 -0
  241. package/dist/httpInterceptors/manager/httpInterceptor.snapshot.js +17 -0
  242. package/dist/httpInterceptors/manager/index.d.ts +10 -0
  243. package/dist/httpInterceptors/manager/index.js +10 -0
  244. package/dist/httpKeepAlive/httpKeepAlive.core.d.ts +63 -0
  245. package/dist/httpKeepAlive/httpKeepAlive.core.js +357 -0
  246. package/dist/httpMethods/http.methods.d.ts +72 -4
  247. package/dist/httpMethods/http.methods.js +97 -9
  248. package/dist/httpMiddleware/builtin/compose/httpMiddleware.compose.d.ts +10 -0
  249. package/dist/httpMiddleware/builtin/compose/httpMiddleware.compose.js +34 -0
  250. package/dist/httpMiddleware/builtin/compose/index.d.ts +7 -0
  251. package/dist/httpMiddleware/builtin/compose/index.js +7 -0
  252. package/dist/httpMiddleware/builtin/conditional/httpMiddleware.conditional.d.ts +14 -0
  253. package/dist/httpMiddleware/builtin/conditional/httpMiddleware.conditional.js +70 -0
  254. package/dist/httpMiddleware/builtin/conditional/index.d.ts +7 -0
  255. package/dist/httpMiddleware/builtin/conditional/index.js +7 -0
  256. package/dist/httpMiddleware/builtin/cors/httpMiddleware.cors.d.ts +28 -0
  257. package/dist/httpMiddleware/builtin/cors/httpMiddleware.cors.js +120 -0
  258. package/dist/httpMiddleware/builtin/cors/index.d.ts +7 -0
  259. package/dist/httpMiddleware/builtin/cors/index.js +7 -0
  260. package/dist/httpMiddleware/builtin/helpers/httpMiddleware.accessor.d.ts +16 -0
  261. package/dist/httpMiddleware/builtin/helpers/httpMiddleware.contextHelper.d.ts +16 -0
  262. package/dist/httpMiddleware/builtin/helpers/httpMiddleware.contextHelper.js +23 -0
  263. package/dist/httpMiddleware/builtin/helpers/httpMiddleware.response.d.ts +55 -0
  264. package/dist/httpMiddleware/builtin/helpers/httpMiddleware.response.js +92 -0
  265. package/dist/httpMiddleware/builtin/helpers/index.d.ts +9 -0
  266. package/dist/httpMiddleware/builtin/helpers/index.js +9 -0
  267. package/dist/httpMiddleware/builtin/image/httpMiddleware.image.d.ts +26 -0
  268. package/dist/httpMiddleware/builtin/image/httpMiddleware.image.js +90 -0
  269. package/dist/httpMiddleware/builtin/logging/httpMiddleware.logging.d.ts +16 -0
  270. package/dist/httpMiddleware/builtin/logging/httpMiddleware.logging.js +42 -0
  271. package/dist/httpMiddleware/builtin/logging/index.d.ts +7 -0
  272. package/dist/httpMiddleware/builtin/logging/index.js +7 -0
  273. package/dist/httpMiddleware/builtin/security/httpMiddleware.security.d.ts +21 -0
  274. package/dist/httpMiddleware/builtin/security/httpMiddleware.security.js +50 -0
  275. package/dist/httpMiddleware/builtin/security/index.d.ts +7 -0
  276. package/dist/httpMiddleware/builtin/security/index.js +7 -0
  277. package/dist/httpMiddleware/builtin/static/httpMiddleware.static.d.ts +22 -0
  278. package/dist/httpMiddleware/builtin/static/httpMiddleware.static.js +210 -0
  279. package/dist/httpMiddleware/builtin/timing/httpMiddleware.timing.d.ts +8 -0
  280. package/dist/httpMiddleware/builtin/timing/httpMiddleware.timing.js +18 -0
  281. package/dist/httpMiddleware/builtin/timing/index.d.ts +7 -0
  282. package/dist/httpMiddleware/builtin/timing/index.js +7 -0
  283. package/dist/httpMiddleware/builtin/video/httpMiddleware.video.d.ts +26 -0
  284. package/dist/httpMiddleware/builtin/video/httpMiddleware.video.js +83 -0
  285. package/dist/httpMiddleware/httpMiddleware.state.d.ts +16 -0
  286. package/dist/httpMiddleware/httpMiddleware.state.js +30 -0
  287. package/dist/httpMiddleware/httpMiddleware.type.d.ts +54 -0
  288. package/dist/httpMiddleware/httpMiddleware.type.js +7 -0
  289. package/dist/httpMiddleware/pipeline/httpMiddleware.pipeline.d.ts +35 -0
  290. package/dist/httpMiddleware/pipeline/httpMiddleware.pipeline.js +87 -0
  291. package/dist/httpMiddleware/pipeline/httpPipeline.execution.d.ts +18 -0
  292. package/dist/httpMiddleware/pipeline/httpPipeline.execution.js +97 -0
  293. package/dist/httpMiddleware/pipeline/httpPipeline.helper.d.ts +36 -0
  294. package/dist/httpMiddleware/pipeline/httpPipeline.helper.js +114 -0
  295. package/dist/httpMiddleware/pipeline/httpPipeline.registration.d.ts +27 -0
  296. package/dist/httpMiddleware/pipeline/httpPipeline.registration.js +100 -0
  297. package/dist/httpMime/http.mime.d.ts +144 -0
  298. package/dist/httpMime/http.mime.js +481 -0
  299. package/dist/httpMultipart/http.multipart.d.ts +55 -0
  300. package/dist/httpMultipart/http.multipart.js +295 -99
  301. package/dist/httpNegotiation/httpNegotiation.core.d.ts +119 -0
  302. package/dist/httpNegotiation/httpNegotiation.core.js +519 -0
  303. package/dist/httpProtocol/http.protocol.d.ts +80 -0
  304. package/dist/httpProtocol/http.protocol.js +482 -0
  305. package/dist/httpProxy/http.proxy.d.ts +179 -0
  306. package/dist/httpProxy/http.proxy.js +540 -0
  307. package/dist/httpQuery/http.query.d.ts +110 -0
  308. package/dist/httpQuery/http.query.js +484 -0
  309. package/dist/httpQuery/index.d.ts +0 -1
  310. package/dist/httpQuery/index.js +0 -1
  311. package/dist/httpRange/http.range.d.ts +53 -0
  312. package/dist/httpRange/http.range.js +341 -0
  313. package/dist/httpRedirect/http.redirect.d.ts +140 -0
  314. package/dist/httpRedirect/http.redirect.js +442 -0
  315. package/dist/httpRequest/http.request.d.ts +71 -0
  316. package/dist/httpRequest/http.request.js +313 -0
  317. package/dist/httpRequest/httpRequest.context.constant.d.ts +8 -0
  318. package/dist/httpRequest/httpRequest.context.d.ts +122 -0
  319. package/dist/httpRequest/httpRequest.context.id.d.ts +8 -0
  320. package/dist/httpRequest/httpRequest.context.id.js +16 -0
  321. package/dist/httpRequest/httpRequest.context.type.d.ts +47 -0
  322. package/dist/httpRequest/httpRequest.context.type.js +8 -0
  323. package/dist/httpResponse/core/httpResponse.statusText.d.ts +10 -0
  324. package/dist/httpResponse/core/httpResponse.statusText.js +76 -0
  325. package/dist/httpResponse/core/httpResponse.type.d.ts +44 -0
  326. package/dist/httpResponse/core/httpResponse.type.js +8 -0
  327. package/dist/httpResponse/core/index.d.ts +8 -0
  328. package/dist/httpResponse/core/index.js +8 -0
  329. package/dist/httpResponse/http.response.d.ts +34 -0
  330. package/dist/httpResponse/http.response.js +204 -0
  331. package/dist/httpResponse/httpResponse.context.d.ts +70 -0
  332. package/dist/httpResponse/httpResponse.context.js +207 -0
  333. package/dist/httpResponse/httpResponse.fromWeb.d.ts +57 -0
  334. package/dist/httpResponse/httpResponse.fromWeb.js +114 -0
  335. package/dist/httpResponse/httpResponse.helper.d.ts +73 -0
  336. package/dist/httpResponse/httpResponse.helper.js +174 -0
  337. package/dist/httpResponse/httpResponse.writer.d.ts +8 -0
  338. package/dist/httpResponse/httpResponse.writer.js +43 -6
  339. package/dist/httpResponse/index.d.ts +1 -0
  340. package/dist/httpResponse/index.js +1 -0
  341. package/dist/httpRouter/core/error/httpRouter.error.d.ts +7 -0
  342. package/dist/httpRouter/core/error/httpRouter.error.js +7 -0
  343. package/dist/httpRouter/core/error/index.d.ts +7 -0
  344. package/dist/httpRouter/core/error/index.js +7 -0
  345. package/dist/httpRouter/core/factory/httpRoute.factory.base.d.ts +44 -0
  346. package/dist/httpRouter/core/factory/httpRoute.factory.base.js +186 -0
  347. package/dist/httpRouter/core/factory/httpRoute.factory.d.ts +36 -0
  348. package/dist/httpRouter/core/factory/httpRoute.factory.js +67 -0
  349. package/dist/httpRouter/core/factory/index.d.ts +8 -0
  350. package/dist/httpRouter/core/factory/index.js +8 -0
  351. package/dist/httpRouter/core/group/httpRouterGroup.core.d.ts +27 -0
  352. package/dist/httpRouter/core/group/httpRouterGroup.core.js +68 -0
  353. package/dist/httpRouter/core/group/index.d.ts +7 -0
  354. package/dist/httpRouter/core/group/index.js +7 -0
  355. package/dist/httpRouter/core/index.d.ts +13 -0
  356. package/dist/httpRouter/core/index.js +13 -0
  357. package/dist/httpRouter/core/register/httpRouter.register.d.ts +45 -0
  358. package/dist/httpRouter/core/register/httpRouter.register.js +309 -0
  359. package/dist/httpRouter/core/register/index.d.ts +7 -0
  360. package/dist/httpRouter/core/register/index.js +7 -0
  361. package/dist/httpRouter/core/registry/core/httpRegistry.helper.d.ts +34 -0
  362. package/dist/httpRouter/core/registry/core/httpRegistry.helper.js +69 -0
  363. package/dist/httpRouter/core/registry/core/httpRegistry.type.d.ts +33 -0
  364. package/dist/httpRouter/core/registry/core/httpRegistry.type.js +7 -0
  365. package/dist/httpRouter/core/registry/core/index.d.ts +8 -0
  366. package/dist/httpRouter/core/registry/core/index.js +8 -0
  367. package/dist/httpRouter/core/registry/httpRegistry.core.d.ts +23 -0
  368. package/dist/httpRouter/core/registry/httpRegistry.core.js +97 -0
  369. package/dist/httpRouter/core/registry/httpRegistry.factory.d.ts +25 -0
  370. package/dist/httpRouter/core/registry/httpRegistry.factory.js +32 -0
  371. package/dist/httpRouter/core/registry/httpRegistry.group.d.ts +23 -0
  372. package/dist/httpRouter/core/registry/httpRegistry.group.js +72 -0
  373. package/dist/httpRouter/core/registry/index.d.ts +16 -0
  374. package/dist/httpRouter/core/registry/index.js +15 -0
  375. package/dist/httpRouter/core/types/httpRouter.type.d.ts +109 -0
  376. package/dist/httpRouter/core/types/httpRouter.type.js +10 -0
  377. package/dist/httpRouter/core/types/index.d.ts +7 -0
  378. package/dist/httpRouter/core/types/index.js +7 -0
  379. package/dist/httpRouter/core/util/httpRoute.util.d.ts +26 -0
  380. package/dist/httpRouter/core/util/httpRoute.util.js +113 -0
  381. package/dist/httpRouter/core/util/index.d.ts +7 -0
  382. package/dist/httpRouter/core/util/index.js +7 -0
  383. package/dist/httpRouter/dispatch/httpRoute.dispatcher.d.ts +66 -0
  384. package/dist/httpRouter/dispatch/httpRoute.dispatcher.js +317 -0
  385. package/dist/httpRouter/dispatch/httpRoute.stack.d.ts +90 -0
  386. package/dist/httpRouter/dispatch/httpRoute.stack.js +301 -0
  387. package/dist/httpRouter/dispatch/index.d.ts +6 -0
  388. package/dist/httpRouter/dispatch/index.js +6 -0
  389. package/dist/httpRouter/httpRouter.context.d.ts +67 -0
  390. package/dist/httpRouter/httpRouter.context.js +239 -0
  391. package/dist/httpRouter/httpRouter.state.d.ts +18 -0
  392. package/dist/httpRouter/httpRouter.state.js +31 -0
  393. package/dist/httpRouter/index.d.ts +13 -0
  394. package/dist/httpRouter/index.js +13 -0
  395. package/dist/httpRouter/matching/httpRoute.matcher.core.d.ts +10 -0
  396. package/dist/httpRouter/matching/httpRoute.matcher.core.js +72 -0
  397. package/dist/httpRouter/matching/httpRoute.matcher.d.ts +63 -0
  398. package/dist/httpRouter/matching/httpRoute.matcher.js +274 -0
  399. package/dist/httpRouter/matching/index.d.ts +7 -0
  400. package/dist/httpRouter/matching/index.js +6 -0
  401. package/dist/httpRouter/pattern/core/httpPattern.compilation.d.ts +11 -0
  402. package/dist/httpRouter/pattern/core/httpPattern.compilation.js +44 -0
  403. package/dist/httpRouter/pattern/core/httpPattern.matching.d.ts +23 -0
  404. package/dist/httpRouter/pattern/core/httpPattern.matching.js +93 -0
  405. package/dist/httpRouter/pattern/core/httpPattern.regexBuilding.d.ts +11 -0
  406. package/dist/httpRouter/pattern/core/httpPattern.regexBuilding.js +49 -0
  407. package/dist/httpRouter/pattern/core/httpPattern.segmentParsing.d.ts +11 -0
  408. package/dist/httpRouter/pattern/core/httpPattern.segmentParsing.js +117 -0
  409. package/dist/httpRouter/pattern/core/httpPattern.type.d.ts +40 -0
  410. package/dist/httpRouter/pattern/core/httpPattern.type.js +8 -0
  411. package/dist/httpRouter/pattern/core/index.d.ts +11 -0
  412. package/dist/httpRouter/pattern/core/index.js +11 -0
  413. package/dist/httpRouter/pattern/httpPattern.factory.d.ts +19 -0
  414. package/dist/httpRouter/pattern/httpPattern.factory.js +25 -0
  415. package/dist/httpRouter/pattern/httpRoute.pattern.parse.d.ts +38 -0
  416. package/dist/httpRouter/pattern/httpRoute.pattern.parse.js +134 -0
  417. package/dist/httpRouter/pattern/index.d.ts +19 -0
  418. package/dist/httpRouter/pattern/index.js +17 -0
  419. package/dist/httpRouter/result/httpRoute.result.builder.d.ts +7 -0
  420. package/dist/httpRouter/result/httpRoute.result.builder.js +70 -0
  421. package/dist/httpRouter/result/httpRoute.result.class.d.ts +21 -0
  422. package/dist/httpRouter/result/httpRoute.result.class.js +33 -0
  423. package/dist/httpRouter/result/httpRoute.result.d.ts +17 -0
  424. package/dist/httpRouter/result/httpRoute.result.error.4xx.d.ts +14 -0
  425. package/dist/httpRouter/result/httpRoute.result.error.4xx.js +76 -0
  426. package/dist/httpRouter/result/httpRoute.result.error.5xx.d.ts +9 -0
  427. package/dist/httpRouter/result/httpRoute.result.error.5xx.js +32 -0
  428. package/dist/httpRouter/result/httpRoute.result.factory.d.ts +13 -0
  429. package/dist/httpRouter/result/httpRoute.result.factory.js +54 -0
  430. package/dist/httpRouter/result/httpRoute.result.guard.d.ts +9 -0
  431. package/dist/httpRouter/result/httpRoute.result.guard.js +33 -0
  432. package/dist/httpRouter/result/httpRoute.result.js +31 -0
  433. package/dist/httpRouter/result/httpRoute.result.normalize.d.ts +8 -0
  434. package/dist/httpRouter/result/httpRoute.result.normalize.js +73 -0
  435. package/dist/httpRouter/result/httpRoute.result.output.d.ts +7 -0
  436. package/dist/httpRouter/result/httpRoute.result.output.js +34 -0
  437. package/dist/httpRouter/result/httpRoute.result.serialize.d.ts +8 -0
  438. package/dist/httpRouter/result/httpRoute.result.serialize.js +61 -0
  439. package/dist/httpRouter/result/httpRoute.result.type.d.ts +41 -0
  440. package/dist/httpRouter/result/httpRoute.result.type.js +9 -0
  441. package/dist/httpRouter/result/httpRoute.result.util.d.ts +8 -0
  442. package/dist/httpRouter/result/httpRoute.result.util.js +52 -0
  443. package/dist/httpRouter/result/index.d.ts +6 -0
  444. package/dist/httpRouter/result/index.js +5 -0
  445. package/dist/httpRouter/tree/core/httpTree.helper.d.ts +31 -0
  446. package/dist/httpRouter/tree/core/httpTree.helper.js +80 -0
  447. package/dist/httpRouter/tree/core/httpTree.nodeCreation.d.ts +11 -0
  448. package/dist/httpRouter/tree/core/httpTree.nodeCreation.js +54 -0
  449. package/dist/httpRouter/tree/core/httpTree.traversal.d.ts +26 -0
  450. package/dist/httpRouter/tree/core/httpTree.traversal.js +73 -0
  451. package/dist/httpRouter/tree/core/httpTree.type.d.ts +52 -0
  452. package/dist/httpRouter/tree/core/httpTree.type.js +7 -0
  453. package/dist/httpRouter/tree/core/index.d.ts +10 -0
  454. package/dist/httpRouter/tree/core/index.js +10 -0
  455. package/dist/httpRouter/tree/httpTree.core.d.ts +21 -0
  456. package/dist/httpRouter/tree/httpTree.core.js +96 -0
  457. package/dist/httpRouter/tree/httpTree.factory.d.ts +12 -0
  458. package/dist/httpRouter/tree/httpTree.factory.js +13 -0
  459. package/dist/httpRouter/tree/index.d.ts +7 -0
  460. package/dist/httpRouter/tree/index.js +6 -0
  461. package/dist/httpSecurity/httpSecurity.config.d.ts +17 -11
  462. package/dist/httpSecurity/httpSecurity.config.js +9 -6
  463. package/dist/httpSecurity/httpSecurity.guard.d.ts +28 -0
  464. package/dist/httpSecurity/httpSecurity.guard.js +40 -0
  465. package/dist/httpSecurity/index.d.ts +1 -1
  466. package/dist/httpSecurity/index.js +1 -1
  467. package/dist/httpSecurityHeaders/core/httpSecurityHeader.type.d.ts +56 -0
  468. package/dist/httpSecurityHeaders/core/httpSecurityHeader.type.js +20 -0
  469. package/dist/httpSecurityHeaders/core/httpSecurityHeader.validation.d.ts +44 -0
  470. package/dist/httpSecurityHeaders/core/httpSecurityHeader.validation.js +111 -0
  471. package/dist/httpSecurityHeaders/core/index.d.ts +8 -0
  472. package/dist/httpSecurityHeaders/core/index.js +8 -0
  473. package/dist/httpSecurityHeaders/httpSecurity.headers.d.ts +12 -0
  474. package/dist/httpSecurityHeaders/httpSecurity.headers.js +12 -0
  475. package/dist/httpSecurityHeaders/httpSecurityHeader.factory.d.ts +11 -0
  476. package/dist/httpSecurityHeaders/httpSecurityHeader.factory.js +71 -0
  477. package/dist/httpSecurityHeaders/httpSecurityHeader.individual.d.ts +65 -0
  478. package/dist/httpSecurityHeaders/httpSecurityHeader.individual.js +123 -0
  479. package/dist/httpSecurityHeaders/httpSecurityHeader.permissionsPolicy.d.ts +15 -0
  480. package/dist/httpSecurityHeaders/httpSecurityHeader.permissionsPolicy.js +59 -0
  481. package/dist/httpSecurityHeaders/httpSecurityHeader.recommended.d.ts +65 -0
  482. package/dist/httpSecurityHeaders/httpSecurityHeader.recommended.js +120 -0
  483. package/dist/httpServer/core/httpServer.core.d.ts +15 -3
  484. package/dist/httpServer/core/httpServer.core.js +80 -25
  485. package/dist/httpServer/types/httpServer.type.d.ts +17 -2
  486. package/dist/httpStatus/httpStatus.categoryPredicate.d.ts +12 -0
  487. package/dist/httpStatus/httpStatus.categoryPredicate.js +24 -0
  488. package/dist/httpStatus/httpStatus.clientErrorConstant.d.ts +43 -0
  489. package/dist/httpStatus/httpStatus.clientErrorConstant.js +43 -0
  490. package/dist/httpStatus/httpStatus.clientErrorTextConstant.d.ts +35 -0
  491. package/dist/httpStatus/httpStatus.clientErrorTextConstant.js +35 -0
  492. package/dist/httpStatus/httpStatus.collection.d.ts +11 -0
  493. package/dist/httpStatus/httpStatus.collection.js +22 -0
  494. package/dist/httpStatus/httpStatus.commonPredicate.d.ts +8 -0
  495. package/dist/httpStatus/httpStatus.commonPredicate.js +8 -0
  496. package/dist/httpStatus/httpStatus.constant.d.ts +8 -0
  497. package/dist/httpStatus/httpStatus.constant.js +8 -0
  498. package/dist/httpStatus/httpStatus.errorPredicate.d.ts +21 -0
  499. package/dist/httpStatus/httpStatus.errorPredicate.js +52 -0
  500. package/dist/httpStatus/httpStatus.info.d.ts +24 -0
  501. package/dist/httpStatus/httpStatus.info.js +31 -0
  502. package/dist/httpStatus/httpStatus.informationalSuccessConstant.d.ts +24 -0
  503. package/dist/httpStatus/httpStatus.informationalSuccessConstant.js +24 -0
  504. package/dist/httpStatus/httpStatus.informationalSuccessTextConstant.d.ts +24 -0
  505. package/dist/httpStatus/httpStatus.informationalSuccessTextConstant.js +24 -0
  506. package/dist/httpStatus/httpStatus.lookup.d.ts +9 -0
  507. package/dist/httpStatus/httpStatus.lookup.js +28 -0
  508. package/dist/httpStatus/httpStatus.name.d.ts +8 -0
  509. package/dist/httpStatus/httpStatus.name.js +16 -0
  510. package/dist/httpStatus/httpStatus.predicate.d.ts +9 -0
  511. package/dist/httpStatus/httpStatus.predicate.js +9 -0
  512. package/dist/httpStatus/httpStatus.redirectErrorConstant.d.ts +9 -0
  513. package/dist/httpStatus/httpStatus.redirectErrorConstant.js +9 -0
  514. package/dist/httpStatus/httpStatus.redirectErrorTextConstant.d.ts +9 -0
  515. package/dist/httpStatus/httpStatus.redirectErrorTextConstant.js +9 -0
  516. package/dist/httpStatus/httpStatus.redirectPredicate.d.ts +10 -0
  517. package/dist/httpStatus/httpStatus.redirectPredicate.js +25 -0
  518. package/dist/httpStatus/httpStatus.redirectionConstant.d.ts +14 -0
  519. package/dist/httpStatus/httpStatus.redirectionConstant.js +14 -0
  520. package/dist/httpStatus/httpStatus.redirectionTextConstant.d.ts +14 -0
  521. package/dist/httpStatus/httpStatus.redirectionTextConstant.js +14 -0
  522. package/dist/httpStatus/httpStatus.semantics.d.ts +20 -0
  523. package/dist/httpStatus/httpStatus.semantics.js +49 -0
  524. package/dist/httpStatus/httpStatus.serverErrorConstant.d.ts +17 -0
  525. package/dist/httpStatus/httpStatus.serverErrorConstant.js +17 -0
  526. package/dist/httpStatus/httpStatus.serverErrorTextConstant.d.ts +17 -0
  527. package/dist/httpStatus/httpStatus.serverErrorTextConstant.js +17 -0
  528. package/dist/httpStatus/httpStatus.statusConstant.d.ts +74 -0
  529. package/dist/httpStatus/httpStatus.statusConstant.js +17 -0
  530. package/dist/httpStatus/httpStatus.statusTextConstant.d.ts +72 -0
  531. package/dist/httpStatus/httpStatus.statusTextConstant.js +17 -0
  532. package/dist/httpStatus/httpStatus.type.d.ts +15 -0
  533. package/dist/httpStatus/httpStatus.type.js +9 -0
  534. package/dist/httpStatus/httpStatus.validator.d.ts +8 -0
  535. package/dist/httpStatus/httpStatus.validator.js +17 -0
  536. package/dist/httpStatus/httpStatusCodes.constant.d.ts +239 -0
  537. package/dist/httpStatus/httpStatusCodes.constant.js +232 -0
  538. package/dist/httpStream/httpStream.backpressure.d.ts +9 -0
  539. package/dist/httpStream/httpStream.backpressure.js +44 -9
  540. package/dist/httpStream/httpStream.consume.d.ts +8 -0
  541. package/dist/httpStream/httpStream.consume.js +31 -3
  542. package/dist/httpStream/httpStream.error.d.ts +11 -0
  543. package/dist/httpStream/httpStream.error.js +17 -1
  544. package/dist/httpStream/httpStream.eventHelper.d.ts +0 -2
  545. package/dist/httpStream/httpStream.eventHelper.js +0 -24
  546. package/dist/httpStream/httpStream.helper.d.ts +13 -0
  547. package/dist/httpStream/httpStream.helper.js +18 -2
  548. package/dist/httpStream/httpStream.pipe.js +15 -4
  549. package/dist/httpStream/httpStream.progress.js +42 -8
  550. package/dist/httpStream/httpStream.transform.d.ts +3 -3
  551. package/dist/httpStream/httpStream.types.d.ts +20 -1
  552. package/dist/httpTrustProxy/httpTrustProxy.compilation.d.ts +32 -0
  553. package/dist/httpTrustProxy/httpTrustProxy.compilation.js +119 -0
  554. package/dist/httpTrustProxy/httpTrustProxy.core.d.ts +14 -0
  555. package/dist/httpTrustProxy/httpTrustProxy.core.js +14 -0
  556. package/dist/httpTrustProxy/httpTrustProxy.helper.d.ts +73 -0
  557. package/dist/httpTrustProxy/httpTrustProxy.helper.js +226 -0
  558. package/dist/httpTrustProxy/httpTrustProxy.ip.d.ts +49 -0
  559. package/dist/httpTrustProxy/httpTrustProxy.ip.js +238 -0
  560. package/dist/httpTrustProxy/httpTrustProxy.parsing.d.ts +32 -0
  561. package/dist/httpTrustProxy/httpTrustProxy.parsing.js +133 -0
  562. package/dist/httpTrustProxy/httpTrustProxy.type.d.ts +41 -0
  563. package/dist/httpTrustProxy/httpTrustProxy.type.js +12 -0
  564. package/dist/httpUrl/http.url.d.ts +143 -0
  565. package/dist/httpUrl/http.url.js +712 -0
  566. package/dist/httpValidation/httpValidationAssertion.d.ts +9 -0
  567. package/dist/httpValidation/httpValidationAssertion.js +26 -0
  568. package/dist/httpValidation/httpValidationAuthority.d.ts +8 -0
  569. package/dist/httpValidation/httpValidationAuthority.js +43 -0
  570. package/dist/httpValidation/httpValidationAuthorization.d.ts +7 -0
  571. package/dist/httpValidation/httpValidationAuthorization.js +22 -0
  572. package/dist/httpValidation/httpValidationCacheControl.d.ts +7 -0
  573. package/dist/httpValidation/httpValidationCacheControl.js +26 -0
  574. package/dist/httpValidation/httpValidationContentLength.d.ts +9 -0
  575. package/dist/httpValidation/httpValidationContentLength.js +25 -0
  576. package/dist/httpValidation/httpValidationContentType.d.ts +9 -0
  577. package/dist/httpValidation/httpValidationContentType.js +32 -0
  578. package/dist/httpValidation/httpValidationCookie.d.ts +8 -0
  579. package/dist/httpValidation/httpValidationCookie.js +19 -0
  580. package/dist/httpValidation/httpValidationDate.d.ts +7 -0
  581. package/dist/httpValidation/httpValidationDate.js +13 -0
  582. package/dist/httpValidation/httpValidationETag.d.ts +7 -0
  583. package/dist/httpValidation/httpValidationETag.js +16 -0
  584. package/dist/httpValidation/httpValidationHeader.d.ts +16 -0
  585. package/dist/httpValidation/httpValidationHeader.js +77 -0
  586. package/dist/httpValidation/httpValidationHostname.d.ts +7 -0
  587. package/dist/httpValidation/httpValidationHostname.js +27 -0
  588. package/dist/httpValidation/httpValidationMessage.d.ts +13 -0
  589. package/dist/httpValidation/httpValidationMessage.js +45 -0
  590. package/dist/httpValidation/httpValidationMethod.d.ts +9 -0
  591. package/dist/httpValidation/httpValidationMethod.js +25 -0
  592. package/dist/httpValidation/httpValidationPort.d.ts +9 -0
  593. package/dist/httpValidation/httpValidationPort.js +25 -0
  594. package/dist/httpValidation/httpValidationRange.d.ts +7 -0
  595. package/dist/httpValidation/httpValidationRange.js +41 -0
  596. package/dist/httpValidation/httpValidationRequestTarget.d.ts +10 -0
  597. package/dist/httpValidation/httpValidationRequestTarget.js +48 -0
  598. package/dist/httpValidation/httpValidationStatusCode.d.ts +9 -0
  599. package/dist/httpValidation/httpValidationStatusCode.js +25 -0
  600. package/dist/httpValidation/httpValidationToken.d.ts +10 -0
  601. package/dist/httpValidation/httpValidationToken.js +25 -0
  602. package/dist/httpValidation/httpValidationTypes.type.d.ts +15 -0
  603. package/dist/httpValidation/httpValidationTypes.type.js +7 -0
  604. package/dist/httpValidation/httpValidationUrl.d.ts +11 -0
  605. package/dist/httpValidation/httpValidationUrl.js +62 -0
  606. package/dist/index.d.ts +84 -0
  607. package/dist/index.js +83 -0
  608. package/package.json +27 -16
  609. package/dist/httpAdapter/fetch/httpFetch.body.d.ts.map +0 -1
  610. package/dist/httpAdapter/fetch/httpFetch.body.js.map +0 -1
  611. package/dist/httpAdapter/fetch/httpFetch.helper.d.ts.map +0 -1
  612. package/dist/httpAdapter/fetch/httpFetch.requestContext.d.ts.map +0 -1
  613. package/dist/httpAdapter/fetch/httpFetch.responseWriter.d.ts.map +0 -1
  614. package/dist/httpAdapter/fetch/httpFetch.type.d.ts.map +0 -1
  615. package/dist/httpAdapter/fetch/index.d.ts.map +0 -1
  616. package/dist/httpAdapter/http.adapter.d.ts.map +0 -1
  617. package/dist/httpAdapter/http.adapter.js.map +0 -1
  618. package/dist/httpAdapter/http.adapters.d.ts.map +0 -1
  619. package/dist/httpAdapter/http.adapters.js.map +0 -1
  620. package/dist/httpAdapter/httpFetch.adapter.d.ts.map +0 -1
  621. package/dist/httpAdapter/index.d.ts.map +0 -1
  622. package/dist/httpAdapter/index.js.map +0 -1
  623. package/dist/httpAdapter/node/httpNode.adapter.d.ts.map +0 -1
  624. package/dist/httpAdapter/node/httpNode.adapter.js.map +0 -1
  625. package/dist/httpAdapter/node/httpNode.request.d.ts.map +0 -1
  626. package/dist/httpAdapter/node/httpNode.response.d.ts.map +0 -1
  627. package/dist/httpAdapter/node/httpNode.server.d.ts.map +0 -1
  628. package/dist/httpAdapter/node/httpNode.server.js.map +0 -1
  629. package/dist/httpAdapter/node/httpNode.type.d.ts.map +0 -1
  630. package/dist/httpAdapter/node/index.d.ts.map +0 -1
  631. package/dist/httpAdapter/node/index.js.map +0 -1
  632. package/dist/httpAgent/http.agent.d.ts.map +0 -1
  633. package/dist/httpAgent/index.d.ts.map +0 -1
  634. package/dist/httpAgent/index.js.map +0 -1
  635. package/dist/httpBody/http.body.d.ts.map +0 -1
  636. package/dist/httpBody/http.body.js.map +0 -1
  637. package/dist/httpBody/httpBody.formData.d.ts.map +0 -1
  638. package/dist/httpBody/httpBody.formData.js.map +0 -1
  639. package/dist/httpBody/httpBody.parser.d.ts.map +0 -1
  640. package/dist/httpBody/httpBody.parser.js.map +0 -1
  641. package/dist/httpBody/index.d.ts.map +0 -1
  642. package/dist/httpBody/index.js.map +0 -1
  643. package/dist/httpCacheControl/core/httpCacheControl.parse.d.ts.map +0 -1
  644. package/dist/httpCacheControl/core/httpCacheControl.type.d.ts.map +0 -1
  645. package/dist/httpCacheControl/core/httpCacheControl.validation.d.ts.map +0 -1
  646. package/dist/httpCacheControl/core/index.d.ts.map +0 -1
  647. package/dist/httpCacheControl/httpCacheControl.core.d.ts.map +0 -1
  648. package/dist/httpCacheControl/httpCacheControl.factory.d.ts.map +0 -1
  649. package/dist/httpCacheControl/httpCacheControl.freshness.d.ts.map +0 -1
  650. package/dist/httpCacheControl/httpCacheControl.requestHelper.d.ts.map +0 -1
  651. package/dist/httpCacheControl/httpCacheControl.responseHelper.d.ts.map +0 -1
  652. package/dist/httpCacheControl/index.d.ts.map +0 -1
  653. package/dist/httpCacheControl/index.js.map +0 -1
  654. package/dist/httpClient/httpClient.abort.d.ts.map +0 -1
  655. package/dist/httpClient/httpClient.body.d.ts.map +0 -1
  656. package/dist/httpClient/httpClient.client.d.ts.map +0 -1
  657. package/dist/httpClient/httpClient.context.d.ts.map +0 -1
  658. package/dist/httpClient/httpClient.error.d.ts.map +0 -1
  659. package/dist/httpClient/httpClient.error.js.map +0 -1
  660. package/dist/httpClient/httpClient.errorNormalizer.d.ts.map +0 -1
  661. package/dist/httpClient/httpClient.executor.d.ts.map +0 -1
  662. package/dist/httpClient/httpClient.factory.d.ts.map +0 -1
  663. package/dist/httpClient/httpClient.headers.d.ts.map +0 -1
  664. package/dist/httpClient/httpClient.helpers.d.ts.map +0 -1
  665. package/dist/httpClient/httpClient.interceptors.d.ts.map +0 -1
  666. package/dist/httpClient/httpClient.methods.d.ts.map +0 -1
  667. package/dist/httpClient/httpClient.response.d.ts.map +0 -1
  668. package/dist/httpClient/httpClient.retry.d.ts.map +0 -1
  669. package/dist/httpClient/httpClient.retry.js.map +0 -1
  670. package/dist/httpClient/httpClient.type.d.ts.map +0 -1
  671. package/dist/httpClient/httpClient.typeGuards.d.ts.map +0 -1
  672. package/dist/httpClient/httpClient.url.d.ts.map +0 -1
  673. package/dist/httpClient/index.d.ts.map +0 -1
  674. package/dist/httpClient/index.js.map +0 -1
  675. package/dist/httpCompression/http.compression.d.ts.map +0 -1
  676. package/dist/httpCompression/index.d.ts.map +0 -1
  677. package/dist/httpCompression/index.js.map +0 -1
  678. package/dist/httpConditional/httpConditional.core.d.ts.map +0 -1
  679. package/dist/httpConditional/index.d.ts.map +0 -1
  680. package/dist/httpConditional/index.js.map +0 -1
  681. package/dist/httpConstants/http.constants.d.ts.map +0 -1
  682. package/dist/httpConstants/http.constants.js.map +0 -1
  683. package/dist/httpConstants/index.d.ts.map +0 -1
  684. package/dist/httpConstants/index.js.map +0 -1
  685. package/dist/httpContentDisposition/httpContentDisposition.core.d.ts.map +0 -1
  686. package/dist/httpContentDisposition/index.d.ts.map +0 -1
  687. package/dist/httpContentDisposition/index.js.map +0 -1
  688. package/dist/httpContentType/httpContentType.boundary.d.ts.map +0 -1
  689. package/dist/httpContentType/httpContentType.category.d.ts.map +0 -1
  690. package/dist/httpContentType/httpContentType.categoryBinary.d.ts.map +0 -1
  691. package/dist/httpContentType/httpContentType.charset.d.ts.map +0 -1
  692. package/dist/httpContentType/httpContentType.constructors.d.ts.map +0 -1
  693. package/dist/httpContentType/httpContentType.formatter.d.ts.map +0 -1
  694. package/dist/httpContentType/httpContentType.matcher.d.ts.map +0 -1
  695. package/dist/httpContentType/httpContentType.mediaTypes.d.ts.map +0 -1
  696. package/dist/httpContentType/httpContentType.normalizer.d.ts.map +0 -1
  697. package/dist/httpContentType/httpContentType.parameter.d.ts.map +0 -1
  698. package/dist/httpContentType/httpContentType.parser.d.ts.map +0 -1
  699. package/dist/httpContentType/httpContentType.parserHelpers.d.ts.map +0 -1
  700. package/dist/httpContentType/httpContentType.type.d.ts.map +0 -1
  701. package/dist/httpContentType/index.d.ts.map +0 -1
  702. package/dist/httpContentType/index.js.map +0 -1
  703. package/dist/httpContext/http.context.d.ts.map +0 -1
  704. package/dist/httpContext/http.context.js.map +0 -1
  705. package/dist/httpContext/index.d.ts.map +0 -1
  706. package/dist/httpContext/index.js.map +0 -1
  707. package/dist/httpCookies/http.cookies.d.ts.map +0 -1
  708. package/dist/httpCookies/index.d.ts.map +0 -1
  709. package/dist/httpCookies/index.js.map +0 -1
  710. package/dist/httpCors/http.cors.d.ts.map +0 -1
  711. package/dist/httpCors/index.d.ts.map +0 -1
  712. package/dist/httpCors/index.js.map +0 -1
  713. package/dist/httpCsp/checks/httpCsp.checks.d.ts.map +0 -1
  714. package/dist/httpCsp/checks/index.d.ts.map +0 -1
  715. package/dist/httpCsp/formatting/httpCsp.formatting.d.ts.map +0 -1
  716. package/dist/httpCsp/formatting/index.d.ts.map +0 -1
  717. package/dist/httpCsp/index.d.ts.map +0 -1
  718. package/dist/httpCsp/index.js.map +0 -1
  719. package/dist/httpCsp/internal/httpCsp.internal.d.ts.map +0 -1
  720. package/dist/httpCsp/internal/index.d.ts.map +0 -1
  721. package/dist/httpCsp/nonce/httpCsp.nonce.d.ts.map +0 -1
  722. package/dist/httpCsp/nonce/index.d.ts.map +0 -1
  723. package/dist/httpCsp/parsing/httpCsp.parsing.d.ts.map +0 -1
  724. package/dist/httpCsp/parsing/index.d.ts.map +0 -1
  725. package/dist/httpCsp/policies/httpCsp.policies.d.ts.map +0 -1
  726. package/dist/httpCsp/policies/index.d.ts.map +0 -1
  727. package/dist/httpCsp/reportOnly/httpCsp.reportOnly.d.ts.map +0 -1
  728. package/dist/httpCsp/reportOnly/index.d.ts.map +0 -1
  729. package/dist/httpCsp/sources/httpCsp.sources.d.ts.map +0 -1
  730. package/dist/httpCsp/sources/index.d.ts.map +0 -1
  731. package/dist/httpCsp/types/httpCsp.constant.d.ts.map +0 -1
  732. package/dist/httpCsp/types/httpCsp.type.d.ts.map +0 -1
  733. package/dist/httpCsp/types/index.d.ts.map +0 -1
  734. package/dist/httpCsp/validation/httpCsp.validate.d.ts.map +0 -1
  735. package/dist/httpCsp/validation/httpCsp.validation.d.ts.map +0 -1
  736. package/dist/httpCsp/validation/index.d.ts.map +0 -1
  737. package/dist/httpErrors/factories/httpError.clientError.d.ts.map +0 -1
  738. package/dist/httpErrors/factories/httpError.serverError.d.ts.map +0 -1
  739. package/dist/httpErrors/httpError.base.d.ts.map +0 -1
  740. package/dist/httpErrors/httpError.base.js.map +0 -1
  741. package/dist/httpErrors/httpError.helper.d.ts.map +0 -1
  742. package/dist/httpErrors/httpError.invalidJson.d.ts.map +0 -1
  743. package/dist/httpErrors/httpError.type.d.ts.map +0 -1
  744. package/dist/httpErrors/httpError.type.js.map +0 -1
  745. package/dist/httpErrors/httpError.typeGuard.d.ts.map +0 -1
  746. package/dist/httpErrors/index.d.ts.map +0 -1
  747. package/dist/httpErrors/index.js.map +0 -1
  748. package/dist/httpFormData/index.d.ts.map +0 -1
  749. package/dist/httpFormData/index.js.map +0 -1
  750. package/dist/httpHeaders/authorization/httpHeaders.authorization.d.ts.map +0 -1
  751. package/dist/httpHeaders/authorization/index.d.ts.map +0 -1
  752. package/dist/httpHeaders/authorization/index.js.map +0 -1
  753. package/dist/httpHeaders/basic/httpHeaders.basic.d.ts.map +0 -1
  754. package/dist/httpHeaders/basic/httpHeaders.basicMatch.d.ts.map +0 -1
  755. package/dist/httpHeaders/basic/index.d.ts.map +0 -1
  756. package/dist/httpHeaders/basic/index.js.map +0 -1
  757. package/dist/httpHeaders/cacheControl/httpHeaders.cacheControl.d.ts.map +0 -1
  758. package/dist/httpHeaders/cacheControl/httpHeaders.cacheControlBuilder.d.ts.map +0 -1
  759. package/dist/httpHeaders/cacheControl/httpHeaders.cacheControlParse.d.ts.map +0 -1
  760. package/dist/httpHeaders/cacheControl/httpHeaders.cacheControlTokens.d.ts.map +0 -1
  761. package/dist/httpHeaders/cacheControl/index.d.ts +0 -10
  762. package/dist/httpHeaders/cacheControl/index.d.ts.map +0 -1
  763. package/dist/httpHeaders/cacheControl/index.js +0 -10
  764. package/dist/httpHeaders/cacheControl/index.js.map +0 -1
  765. package/dist/httpHeaders/conversion/httpHeaders.conversion.d.ts.map +0 -1
  766. package/dist/httpHeaders/conversion/httpHeaders.conversionObject.d.ts.map +0 -1
  767. package/dist/httpHeaders/conversion/index.d.ts.map +0 -1
  768. package/dist/httpHeaders/conversion/index.js.map +0 -1
  769. package/dist/httpHeaders/date/httpHeaders.date.d.ts.map +0 -1
  770. package/dist/httpHeaders/date/index.d.ts +0 -8
  771. package/dist/httpHeaders/date/index.d.ts.map +0 -1
  772. package/dist/httpHeaders/date/index.js +0 -8
  773. package/dist/httpHeaders/date/index.js.map +0 -1
  774. package/dist/httpHeaders/etag/httpHeaders.etag.d.ts.map +0 -1
  775. package/dist/httpHeaders/etag/httpHeaders.etagMatch.d.ts.map +0 -1
  776. package/dist/httpHeaders/etag/index.d.ts.map +0 -1
  777. package/dist/httpHeaders/etag/index.js.map +0 -1
  778. package/dist/httpHeaders/forwarded/httpHeaders.forwarded.d.ts.map +0 -1
  779. package/dist/httpHeaders/forwarded/index.d.ts.map +0 -1
  780. package/dist/httpHeaders/forwarded/index.js.map +0 -1
  781. package/dist/httpHeaders/http.headers.d.ts.map +0 -1
  782. package/dist/httpHeaders/index.d.ts.map +0 -1
  783. package/dist/httpHeaders/index.js.map +0 -1
  784. package/dist/httpHeaders/internal/httpHeaders.internal.cacheControl.d.ts.map +0 -1
  785. package/dist/httpHeaders/internal/httpHeaders.internal.mediaType.d.ts.map +0 -1
  786. package/dist/httpHeaders/internal/httpHeaders.internal.specificity.d.ts.map +0 -1
  787. package/dist/httpHeaders/internal/httpHeaders.internal.typeGuards.d.ts.map +0 -1
  788. package/dist/httpHeaders/internal/httpHeaders.internal.weightedValues.d.ts.map +0 -1
  789. package/dist/httpHeaders/internal/index.d.ts.map +0 -1
  790. package/dist/httpHeaders/internal/index.js.map +0 -1
  791. package/dist/httpHeaders/list/httpHeaders.list.d.ts.map +0 -1
  792. package/dist/httpHeaders/list/httpHeaders.listMutation.d.ts.map +0 -1
  793. package/dist/httpHeaders/list/index.d.ts.map +0 -1
  794. package/dist/httpHeaders/list/index.js.map +0 -1
  795. package/dist/httpHeaders/negotiation/httpHeaders.contentNegotiation.d.ts.map +0 -1
  796. package/dist/httpHeaders/negotiation/httpHeaders.contentNegotiationSelect.d.ts.map +0 -1
  797. package/dist/httpHeaders/negotiation/httpHeaders.encodingNegotiation.d.ts.map +0 -1
  798. package/dist/httpHeaders/negotiation/httpHeaders.encodingNegotiationSelect.d.ts.map +0 -1
  799. package/dist/httpHeaders/negotiation/httpHeaders.languageNegotiation.d.ts.map +0 -1
  800. package/dist/httpHeaders/negotiation/index.d.ts +0 -11
  801. package/dist/httpHeaders/negotiation/index.d.ts.map +0 -1
  802. package/dist/httpHeaders/negotiation/index.js +0 -11
  803. package/dist/httpHeaders/negotiation/index.js.map +0 -1
  804. package/dist/httpHeaders/range/httpHeaders.contentRange.d.ts.map +0 -1
  805. package/dist/httpHeaders/range/httpHeaders.contentRangeParse.d.ts.map +0 -1
  806. package/dist/httpHeaders/range/httpHeaders.range.d.ts.map +0 -1
  807. package/dist/httpHeaders/range/httpHeaders.rangeResolution.d.ts.map +0 -1
  808. package/dist/httpHeaders/range/httpHeaders.rangeSingle.d.ts.map +0 -1
  809. package/dist/httpHeaders/range/index.d.ts +0 -11
  810. package/dist/httpHeaders/range/index.d.ts.map +0 -1
  811. package/dist/httpHeaders/range/index.js +0 -11
  812. package/dist/httpHeaders/range/index.js.map +0 -1
  813. package/dist/httpHeaders/security/httpHeaders.security.d.ts.map +0 -1
  814. package/dist/httpHeaders/security/index.d.ts.map +0 -1
  815. package/dist/httpHeaders/security/index.js.map +0 -1
  816. package/dist/httpHeaders/types/httpHeaders.type.d.ts.map +0 -1
  817. package/dist/httpHeaders/types/index.d.ts.map +0 -1
  818. package/dist/httpHeaders/types/index.js.map +0 -1
  819. package/dist/httpHsts/http.hsts.d.ts.map +0 -1
  820. package/dist/httpHsts/index.d.ts.map +0 -1
  821. package/dist/httpHsts/index.js.map +0 -1
  822. package/dist/httpInterceptors/builtin/httpInterceptor.request.d.ts.map +0 -1
  823. package/dist/httpInterceptors/builtin/httpInterceptor.request.js.map +0 -1
  824. package/dist/httpInterceptors/builtin/httpInterceptor.response.d.ts.map +0 -1
  825. package/dist/httpInterceptors/builtin/index.d.ts.map +0 -1
  826. package/dist/httpInterceptors/http.interceptors.d.ts.map +0 -1
  827. package/dist/httpInterceptors/httpInterceptor.helper.d.ts.map +0 -1
  828. package/dist/httpInterceptors/httpInterceptor.middleware.d.ts.map +0 -1
  829. package/dist/httpInterceptors/httpInterceptor.type.d.ts.map +0 -1
  830. package/dist/httpInterceptors/index.d.ts.map +0 -1
  831. package/dist/httpInterceptors/index.js.map +0 -1
  832. package/dist/httpInterceptors/manager/httpInterceptor.lookup.d.ts.map +0 -1
  833. package/dist/httpInterceptors/manager/httpInterceptor.manager.d.ts.map +0 -1
  834. package/dist/httpInterceptors/manager/httpInterceptor.registration.d.ts.map +0 -1
  835. package/dist/httpInterceptors/manager/httpInterceptor.snapshot.d.ts.map +0 -1
  836. package/dist/httpInterceptors/manager/index.d.ts.map +0 -1
  837. package/dist/httpKeepAlive/httpKeepAlive.core.d.ts.map +0 -1
  838. package/dist/httpKeepAlive/index.d.ts.map +0 -1
  839. package/dist/httpKeepAlive/index.js.map +0 -1
  840. package/dist/httpMethods/http.methods.d.ts.map +0 -1
  841. package/dist/httpMethods/http.methods.js.map +0 -1
  842. package/dist/httpMethods/index.d.ts.map +0 -1
  843. package/dist/httpMethods/index.js.map +0 -1
  844. package/dist/httpMiddleware/builtin/compose/httpMiddleware.compose.d.ts.map +0 -1
  845. package/dist/httpMiddleware/builtin/compose/index.d.ts.map +0 -1
  846. package/dist/httpMiddleware/builtin/conditional/httpMiddleware.conditional.d.ts.map +0 -1
  847. package/dist/httpMiddleware/builtin/conditional/index.d.ts.map +0 -1
  848. package/dist/httpMiddleware/builtin/cors/httpMiddleware.cors.d.ts.map +0 -1
  849. package/dist/httpMiddleware/builtin/cors/index.d.ts.map +0 -1
  850. package/dist/httpMiddleware/builtin/helpers/httpMiddleware.accessor.d.ts.map +0 -1
  851. package/dist/httpMiddleware/builtin/helpers/httpMiddleware.accessor.js.map +0 -1
  852. package/dist/httpMiddleware/builtin/helpers/httpMiddleware.contextHelper.d.ts.map +0 -1
  853. package/dist/httpMiddleware/builtin/helpers/httpMiddleware.normalizer.d.ts.map +0 -1
  854. package/dist/httpMiddleware/builtin/helpers/index.d.ts.map +0 -1
  855. package/dist/httpMiddleware/builtin/image/httpMiddleware.image.d.ts.map +0 -1
  856. package/dist/httpMiddleware/builtin/image/index.d.ts.map +0 -1
  857. package/dist/httpMiddleware/builtin/image/index.js.map +0 -1
  858. package/dist/httpMiddleware/builtin/index.d.ts.map +0 -1
  859. package/dist/httpMiddleware/builtin/index.js.map +0 -1
  860. package/dist/httpMiddleware/builtin/logging/httpMiddleware.logging.d.ts.map +0 -1
  861. package/dist/httpMiddleware/builtin/logging/index.d.ts.map +0 -1
  862. package/dist/httpMiddleware/builtin/security/httpMiddleware.security.d.ts.map +0 -1
  863. package/dist/httpMiddleware/builtin/security/index.d.ts.map +0 -1
  864. package/dist/httpMiddleware/builtin/static/httpMiddleware.static.d.ts.map +0 -1
  865. package/dist/httpMiddleware/builtin/static/index.d.ts.map +0 -1
  866. package/dist/httpMiddleware/builtin/static/index.js.map +0 -1
  867. package/dist/httpMiddleware/builtin/timing/httpMiddleware.timing.d.ts.map +0 -1
  868. package/dist/httpMiddleware/builtin/timing/index.d.ts.map +0 -1
  869. package/dist/httpMiddleware/builtin/video/httpMiddleware.video.d.ts.map +0 -1
  870. package/dist/httpMiddleware/builtin/video/index.d.ts.map +0 -1
  871. package/dist/httpMiddleware/builtin/video/index.js.map +0 -1
  872. package/dist/httpMiddleware/httpMiddleware.error.d.ts.map +0 -1
  873. package/dist/httpMiddleware/httpMiddleware.error.js.map +0 -1
  874. package/dist/httpMiddleware/httpMiddleware.state.d.ts.map +0 -1
  875. package/dist/httpMiddleware/httpMiddleware.type.d.ts.map +0 -1
  876. package/dist/httpMiddleware/index.d.ts.map +0 -1
  877. package/dist/httpMiddleware/index.js.map +0 -1
  878. package/dist/httpMiddleware/pipeline/httpMiddleware.pipeline.d.ts.map +0 -1
  879. package/dist/httpMiddleware/pipeline/httpPipeline.execution.d.ts.map +0 -1
  880. package/dist/httpMiddleware/pipeline/httpPipeline.helper.d.ts.map +0 -1
  881. package/dist/httpMiddleware/pipeline/httpPipeline.registration.d.ts.map +0 -1
  882. package/dist/httpMiddleware/pipeline/index.d.ts.map +0 -1
  883. package/dist/httpMiddleware/pipeline/index.js.map +0 -1
  884. package/dist/httpMime/http.mime.d.ts.map +0 -1
  885. package/dist/httpMime/index.d.ts.map +0 -1
  886. package/dist/httpMime/index.js.map +0 -1
  887. package/dist/httpMultipart/http.multipart.d.ts.map +0 -1
  888. package/dist/httpMultipart/http.multipart.js.map +0 -1
  889. package/dist/httpMultipart/index.d.ts.map +0 -1
  890. package/dist/httpMultipart/index.js.map +0 -1
  891. package/dist/httpNegotiation/httpNegotiation.accept.d.ts.map +0 -1
  892. package/dist/httpNegotiation/httpNegotiation.charset.d.ts.map +0 -1
  893. package/dist/httpNegotiation/httpNegotiation.construction.d.ts.map +0 -1
  894. package/dist/httpNegotiation/httpNegotiation.core.d.ts.map +0 -1
  895. package/dist/httpNegotiation/httpNegotiation.encoding.d.ts.map +0 -1
  896. package/dist/httpNegotiation/httpNegotiation.formatting.d.ts.map +0 -1
  897. package/dist/httpNegotiation/httpNegotiation.helpers.d.ts.map +0 -1
  898. package/dist/httpNegotiation/httpNegotiation.internal.d.ts.map +0 -1
  899. package/dist/httpNegotiation/httpNegotiation.language.d.ts.map +0 -1
  900. package/dist/httpNegotiation/httpNegotiation.mediaType.d.ts.map +0 -1
  901. package/dist/httpNegotiation/httpNegotiation.negotiate.d.ts.map +0 -1
  902. package/dist/httpNegotiation/httpNegotiation.parsing.d.ts.map +0 -1
  903. package/dist/httpNegotiation/httpNegotiation.quality.d.ts.map +0 -1
  904. package/dist/httpNegotiation/httpNegotiation.sorting.d.ts.map +0 -1
  905. package/dist/httpNegotiation/httpNegotiation.types.d.ts.map +0 -1
  906. package/dist/httpNegotiation/index.d.ts.map +0 -1
  907. package/dist/httpNegotiation/index.js.map +0 -1
  908. package/dist/httpProtocol/http.protocol.d.ts.map +0 -1
  909. package/dist/httpProtocol/index.d.ts.map +0 -1
  910. package/dist/httpProtocol/index.js.map +0 -1
  911. package/dist/httpProxy/http.proxy.d.ts.map +0 -1
  912. package/dist/httpProxy/index.d.ts.map +0 -1
  913. package/dist/httpProxy/index.js.map +0 -1
  914. package/dist/httpQuery/http.query.d.ts.map +0 -1
  915. package/dist/httpQuery/httpQuery.string.d.ts.map +0 -1
  916. package/dist/httpQuery/index.d.ts.map +0 -1
  917. package/dist/httpQuery/index.js.map +0 -1
  918. package/dist/httpRange/http.range.d.ts.map +0 -1
  919. package/dist/httpRange/index.d.ts.map +0 -1
  920. package/dist/httpRange/index.js.map +0 -1
  921. package/dist/httpRedirect/http.redirect.d.ts.map +0 -1
  922. package/dist/httpRedirect/index.d.ts.map +0 -1
  923. package/dist/httpRedirect/index.js.map +0 -1
  924. package/dist/httpRequest/http.request.d.ts.map +0 -1
  925. package/dist/httpRequest/httpRequest.context.constant.d.ts.map +0 -1
  926. package/dist/httpRequest/httpRequest.context.constant.js.map +0 -1
  927. package/dist/httpRequest/httpRequest.context.d.ts.map +0 -1
  928. package/dist/httpRequest/httpRequest.context.id.d.ts.map +0 -1
  929. package/dist/httpRequest/httpRequest.context.js.map +0 -1
  930. package/dist/httpRequest/httpRequest.context.type.d.ts.map +0 -1
  931. package/dist/httpRequest/index.d.ts.map +0 -1
  932. package/dist/httpRequest/index.js.map +0 -1
  933. package/dist/httpResponse/core/httpResponse.statusText.d.ts.map +0 -1
  934. package/dist/httpResponse/core/httpResponse.type.d.ts.map +0 -1
  935. package/dist/httpResponse/core/index.d.ts.map +0 -1
  936. package/dist/httpResponse/http.response.d.ts.map +0 -1
  937. package/dist/httpResponse/httpResponse.context.d.ts.map +0 -1
  938. package/dist/httpResponse/httpResponse.helper.d.ts.map +0 -1
  939. package/dist/httpResponse/httpResponse.writer.d.ts.map +0 -1
  940. package/dist/httpResponse/httpResponse.writer.js.map +0 -1
  941. package/dist/httpResponse/index.d.ts.map +0 -1
  942. package/dist/httpResponse/index.js.map +0 -1
  943. package/dist/httpSecurity/httpSecurity.config.d.ts.map +0 -1
  944. package/dist/httpSecurity/httpSecurity.config.js.map +0 -1
  945. package/dist/httpSecurity/httpSecurity.guard.d.ts.map +0 -1
  946. package/dist/httpSecurity/httpSecurity.guard.js.map +0 -1
  947. package/dist/httpSecurity/httpSecurity.validator.d.ts.map +0 -1
  948. package/dist/httpSecurity/httpSecurity.validator.js.map +0 -1
  949. package/dist/httpSecurity/index.d.ts.map +0 -1
  950. package/dist/httpSecurity/index.js.map +0 -1
  951. package/dist/httpSecurityHeaders/core/httpSecurityHeader.type.d.ts.map +0 -1
  952. package/dist/httpSecurityHeaders/core/httpSecurityHeader.validation.d.ts.map +0 -1
  953. package/dist/httpSecurityHeaders/core/index.d.ts.map +0 -1
  954. package/dist/httpSecurityHeaders/httpSecurity.headers.d.ts.map +0 -1
  955. package/dist/httpSecurityHeaders/httpSecurityHeader.factory.d.ts.map +0 -1
  956. package/dist/httpSecurityHeaders/httpSecurityHeader.individual.d.ts.map +0 -1
  957. package/dist/httpSecurityHeaders/httpSecurityHeader.permissionsPolicy.d.ts.map +0 -1
  958. package/dist/httpSecurityHeaders/httpSecurityHeader.recommended.d.ts.map +0 -1
  959. package/dist/httpSecurityHeaders/index.d.ts.map +0 -1
  960. package/dist/httpSecurityHeaders/index.js.map +0 -1
  961. package/dist/httpServer/core/httpServer.core.d.ts.map +0 -1
  962. package/dist/httpServer/core/httpServer.core.js.map +0 -1
  963. package/dist/httpServer/core/index.d.ts.map +0 -1
  964. package/dist/httpServer/core/index.js.map +0 -1
  965. package/dist/httpServer/factory/httpServer.factory.d.ts.map +0 -1
  966. package/dist/httpServer/factory/httpServer.factory.js.map +0 -1
  967. package/dist/httpServer/factory/index.d.ts.map +0 -1
  968. package/dist/httpServer/factory/index.js.map +0 -1
  969. package/dist/httpServer/index.d.ts.map +0 -1
  970. package/dist/httpServer/index.js.map +0 -1
  971. package/dist/httpServer/manager/httpServer.manager.d.ts.map +0 -1
  972. package/dist/httpServer/manager/httpServer.manager.js.map +0 -1
  973. package/dist/httpServer/manager/index.d.ts.map +0 -1
  974. package/dist/httpServer/manager/index.js.map +0 -1
  975. package/dist/httpServer/types/httpServer.type.d.ts.map +0 -1
  976. package/dist/httpServer/types/httpServer.type.js.map +0 -1
  977. package/dist/httpStatus/httpStatus.categoryPredicate.d.ts.map +0 -1
  978. package/dist/httpStatus/httpStatus.clientErrorConstant.d.ts.map +0 -1
  979. package/dist/httpStatus/httpStatus.clientErrorTextConstant.d.ts.map +0 -1
  980. package/dist/httpStatus/httpStatus.collection.d.ts.map +0 -1
  981. package/dist/httpStatus/httpStatus.commonPredicate.d.ts.map +0 -1
  982. package/dist/httpStatus/httpStatus.constant.d.ts.map +0 -1
  983. package/dist/httpStatus/httpStatus.errorPredicate.d.ts.map +0 -1
  984. package/dist/httpStatus/httpStatus.info.d.ts.map +0 -1
  985. package/dist/httpStatus/httpStatus.informationalSuccessConstant.d.ts.map +0 -1
  986. package/dist/httpStatus/httpStatus.informationalSuccessTextConstant.d.ts.map +0 -1
  987. package/dist/httpStatus/httpStatus.lookup.d.ts.map +0 -1
  988. package/dist/httpStatus/httpStatus.name.d.ts.map +0 -1
  989. package/dist/httpStatus/httpStatus.predicate.d.ts.map +0 -1
  990. package/dist/httpStatus/httpStatus.redirectErrorConstant.d.ts.map +0 -1
  991. package/dist/httpStatus/httpStatus.redirectErrorTextConstant.d.ts.map +0 -1
  992. package/dist/httpStatus/httpStatus.redirectPredicate.d.ts.map +0 -1
  993. package/dist/httpStatus/httpStatus.redirectionConstant.d.ts.map +0 -1
  994. package/dist/httpStatus/httpStatus.redirectionTextConstant.d.ts.map +0 -1
  995. package/dist/httpStatus/httpStatus.semantics.d.ts.map +0 -1
  996. package/dist/httpStatus/httpStatus.serverErrorConstant.d.ts.map +0 -1
  997. package/dist/httpStatus/httpStatus.serverErrorTextConstant.d.ts.map +0 -1
  998. package/dist/httpStatus/httpStatus.statusConstant.d.ts.map +0 -1
  999. package/dist/httpStatus/httpStatus.statusTextConstant.d.ts.map +0 -1
  1000. package/dist/httpStatus/httpStatus.type.d.ts.map +0 -1
  1001. package/dist/httpStatus/httpStatus.validator.d.ts.map +0 -1
  1002. package/dist/httpStatus/httpStatusCodes.constant.d.ts.map +0 -1
  1003. package/dist/httpStatus/index.d.ts.map +0 -1
  1004. package/dist/httpStatus/index.js.map +0 -1
  1005. package/dist/httpStream/httpStream.backpressure.d.ts.map +0 -1
  1006. package/dist/httpStream/httpStream.backpressure.js.map +0 -1
  1007. package/dist/httpStream/httpStream.constants.d.ts.map +0 -1
  1008. package/dist/httpStream/httpStream.constants.js.map +0 -1
  1009. package/dist/httpStream/httpStream.consume.d.ts.map +0 -1
  1010. package/dist/httpStream/httpStream.consume.js.map +0 -1
  1011. package/dist/httpStream/httpStream.destroy.d.ts.map +0 -1
  1012. package/dist/httpStream/httpStream.destroy.js.map +0 -1
  1013. package/dist/httpStream/httpStream.error.d.ts.map +0 -1
  1014. package/dist/httpStream/httpStream.error.js.map +0 -1
  1015. package/dist/httpStream/httpStream.eventHelper.d.ts.map +0 -1
  1016. package/dist/httpStream/httpStream.eventHelper.js.map +0 -1
  1017. package/dist/httpStream/httpStream.helper.d.ts.map +0 -1
  1018. package/dist/httpStream/httpStream.helper.js.map +0 -1
  1019. package/dist/httpStream/httpStream.pipe.d.ts.map +0 -1
  1020. package/dist/httpStream/httpStream.pipe.js.map +0 -1
  1021. package/dist/httpStream/httpStream.progress.d.ts.map +0 -1
  1022. package/dist/httpStream/httpStream.progress.js.map +0 -1
  1023. package/dist/httpStream/httpStream.read.d.ts.map +0 -1
  1024. package/dist/httpStream/httpStream.read.js.map +0 -1
  1025. package/dist/httpStream/httpStream.request.d.ts.map +0 -1
  1026. package/dist/httpStream/httpStream.request.js.map +0 -1
  1027. package/dist/httpStream/httpStream.state.d.ts.map +0 -1
  1028. package/dist/httpStream/httpStream.state.js.map +0 -1
  1029. package/dist/httpStream/httpStream.transform.d.ts.map +0 -1
  1030. package/dist/httpStream/httpStream.transform.js.map +0 -1
  1031. package/dist/httpStream/httpStream.types.d.ts.map +0 -1
  1032. package/dist/httpStream/httpStream.types.js.map +0 -1
  1033. package/dist/httpStream/index.d.ts.map +0 -1
  1034. package/dist/httpStream/index.js.map +0 -1
  1035. package/dist/httpTrustProxy/httpTrustProxy.compilation.d.ts.map +0 -1
  1036. package/dist/httpTrustProxy/httpTrustProxy.core.d.ts.map +0 -1
  1037. package/dist/httpTrustProxy/httpTrustProxy.helper.d.ts.map +0 -1
  1038. package/dist/httpTrustProxy/httpTrustProxy.parsing.d.ts.map +0 -1
  1039. package/dist/httpTrustProxy/httpTrustProxy.type.d.ts.map +0 -1
  1040. package/dist/httpTrustProxy/index.d.ts.map +0 -1
  1041. package/dist/httpTrustProxy/index.js.map +0 -1
  1042. package/dist/httpTypes/http.types.d.ts.map +0 -1
  1043. package/dist/httpTypes/http.types.js.map +0 -1
  1044. package/dist/httpTypes/index.d.ts.map +0 -1
  1045. package/dist/httpTypes/index.js.map +0 -1
  1046. package/dist/httpUrl/http.url.d.ts.map +0 -1
  1047. package/dist/httpUrl/index.d.ts.map +0 -1
  1048. package/dist/httpUrl/index.js.map +0 -1
  1049. package/dist/httpValidation/httpValidationAssertion.d.ts.map +0 -1
  1050. package/dist/httpValidation/httpValidationAuthority.d.ts.map +0 -1
  1051. package/dist/httpValidation/httpValidationAuthorization.d.ts.map +0 -1
  1052. package/dist/httpValidation/httpValidationCacheControl.d.ts.map +0 -1
  1053. package/dist/httpValidation/httpValidationContentLength.d.ts.map +0 -1
  1054. package/dist/httpValidation/httpValidationContentType.d.ts.map +0 -1
  1055. package/dist/httpValidation/httpValidationCookie.d.ts.map +0 -1
  1056. package/dist/httpValidation/httpValidationDate.d.ts.map +0 -1
  1057. package/dist/httpValidation/httpValidationETag.d.ts.map +0 -1
  1058. package/dist/httpValidation/httpValidationHeader.d.ts.map +0 -1
  1059. package/dist/httpValidation/httpValidationHostname.d.ts.map +0 -1
  1060. package/dist/httpValidation/httpValidationMessage.d.ts.map +0 -1
  1061. package/dist/httpValidation/httpValidationMethod.d.ts.map +0 -1
  1062. package/dist/httpValidation/httpValidationPort.d.ts.map +0 -1
  1063. package/dist/httpValidation/httpValidationRange.d.ts.map +0 -1
  1064. package/dist/httpValidation/httpValidationRequestTarget.d.ts.map +0 -1
  1065. package/dist/httpValidation/httpValidationStatusCode.d.ts.map +0 -1
  1066. package/dist/httpValidation/httpValidationToken.d.ts.map +0 -1
  1067. package/dist/httpValidation/httpValidationTypes.type.d.ts.map +0 -1
  1068. package/dist/httpValidation/httpValidationUrl.d.ts.map +0 -1
  1069. package/dist/httpValidation/index.d.ts.map +0 -1
  1070. package/dist/httpValidation/index.js.map +0 -1
@@ -4,8 +4,25 @@ import { randomUUID } from "node:crypto";
4
4
  /* -------------------------------------------------------------------------- */
5
5
  export const DEFAULT_MULTIPART_LIMIT = 10 * 1024 * 1024;
6
6
  export const DEFAULT_MULTIPART_FILE_LIMIT = 10 * 1024 * 1024;
7
+ export const DEFAULT_MULTIPART_FIELD_LIMIT = 1024 * 1024;
7
8
  export const DEFAULT_MULTIPART_MAX_FILES = 20;
8
9
  export const DEFAULT_MULTIPART_MAX_FIELDS = 100;
10
+ /**
11
+ * Hard cap on the number of parts scanned out of one body, applied before any
12
+ * part is decoded so a body made entirely of empty delimiters cannot allocate
13
+ * without bound.
14
+ */
15
+ export const DEFAULT_MULTIPART_MAX_PARTS = 1000;
16
+ /**
17
+ * Longest filename retained after sanitisation, in bytes.
18
+ *
19
+ * `NAME_MAX` is 255 on every mainstream filesystem; a longer name produces an
20
+ * `ENAMETOOLONG` that most upload handlers turn into a 500.
21
+ */
22
+ export const MAX_FILENAME_BYTES = 255;
23
+ const CRLF = Buffer.from("\r\n", "utf8");
24
+ const CRLF_CRLF = Buffer.from("\r\n\r\n", "utf8");
25
+ const LF_LF = Buffer.from("\n\n", "utf8");
9
26
  /* -------------------------------------------------------------------------- */
10
27
  /* Multipart Parser */
11
28
  /* -------------------------------------------------------------------------- */
@@ -21,45 +38,86 @@ export async function parseMultipart(request, options = {}) {
21
38
  /* -------------------------------------------------------------------------- */
22
39
  /* Buffer Parser */
23
40
  /* -------------------------------------------------------------------------- */
24
- export function parseMultipartBuffer(body, boundary, options = {}) {
41
+ /**
42
+ * Splits a multipart body into its parts.
43
+ *
44
+ * The delimiter is matched only where RFC 2046 §5.1.1 allows one — at the
45
+ * very start of the body, or immediately after a CRLF — so a `--boundary`
46
+ * sequence occurring inside a part's content cannot forge a new part or
47
+ * truncate the body. A body whose closing delimiter is missing is rejected
48
+ * rather than silently treated as complete.
49
+ */
50
+ export function parseMultipartParts(body, boundary, options = {}) {
25
51
  validateBoundary(boundary);
52
+ const maxParts = options.maxParts ?? DEFAULT_MULTIPART_MAX_PARTS;
53
+ const encoding = options.encoding ?? "utf8";
54
+ const delimiter = Buffer.from(`--${boundary}`, "utf8");
55
+ const crlfDelimiter = Buffer.concat([CRLF, delimiter]);
56
+ let cursor = findOpeningDelimiter(body, delimiter, crlfDelimiter);
57
+ const parts = [];
58
+ let closed = false;
59
+ while (cursor <= body.length) {
60
+ if (body[cursor] === 45 && body[cursor + 1] === 45) {
61
+ closed = true;
62
+ break;
63
+ }
64
+ const contentStart = skipDelimiterEOL(body, cursor);
65
+ const next = body.indexOf(crlfDelimiter, contentStart);
66
+ if (next === -1) {
67
+ throw new MultipartParseError("Multipart closing delimiter was not found.");
68
+ }
69
+ if (parts.length >= maxParts) {
70
+ throw new MultipartLimitError("Maximum number of multipart parts exceeded.");
71
+ }
72
+ const parsed = parseMultipartPart(body.subarray(contentStart, next), encoding, options.allowUnnamedParts === true);
73
+ if (parsed) {
74
+ parts.push(parsed);
75
+ }
76
+ cursor = next + crlfDelimiter.length;
77
+ }
78
+ if (!closed) {
79
+ throw new MultipartParseError("Multipart closing delimiter was not found.");
80
+ }
81
+ return parts;
82
+ }
83
+ export function parseMultipartBuffer(body, boundary, options = {}) {
26
84
  const maxFileSize = options.maxFileSize ?? DEFAULT_MULTIPART_FILE_LIMIT;
85
+ const maxFieldSize = options.maxFieldSize ?? DEFAULT_MULTIPART_FIELD_LIMIT;
27
86
  const maxFiles = options.maxFiles ?? DEFAULT_MULTIPART_MAX_FILES;
28
87
  const maxFields = options.maxFields ?? DEFAULT_MULTIPART_MAX_FIELDS;
29
- const fields = {};
88
+ /*
89
+ * A null-prototype container: a part named `__proto__` can neither replace
90
+ * the returned object's prototype nor be read back as an inherited member.
91
+ */
92
+ const fields = Object.create(null);
30
93
  const files = [];
31
- const delimiter = Buffer.from(`--${boundary}`, "utf8");
32
- const parts = splitMultipartBody(body, delimiter);
33
- for (const part of parts) {
34
- if (part.length === 0) {
35
- continue;
36
- }
37
- const parsed = parseMultipartPart(part, options.encoding ?? "utf8");
38
- if (!parsed) {
39
- continue;
40
- }
41
- if (parsed.filename !== undefined) {
94
+ let fieldCount = 0;
95
+ for (const part of parseMultipartParts(body, boundary, options)) {
96
+ if (part.filename !== undefined) {
42
97
  if (files.length >= maxFiles) {
43
98
  throw new MultipartLimitError("Maximum number of uploaded files exceeded.");
44
99
  }
45
- if (parsed.body.length > maxFileSize) {
100
+ if (part.data.length > maxFileSize) {
46
101
  throw new MultipartLimitError("Uploaded file exceeds the configured file size limit.");
47
102
  }
48
103
  files.push({
49
- fieldName: parsed.name,
50
- filename: sanitizeFilename(parsed.filename),
51
- contentType: parsed.contentType ?? "application/octet-stream",
52
- encoding: parsed.transferEncoding ?? "binary",
53
- size: parsed.body.length,
54
- data: parsed.body,
104
+ fieldName: part.name,
105
+ filename: sanitizeFilename(part.filename),
106
+ contentType: part.contentType ?? "application/octet-stream",
107
+ encoding: part.transferEncoding ?? "binary",
108
+ size: part.data.length,
109
+ data: part.data,
55
110
  });
56
111
  continue;
57
112
  }
58
- if (countFields(fields) >= maxFields) {
113
+ fieldCount += 1;
114
+ if (fieldCount > maxFields) {
59
115
  throw new MultipartLimitError("Maximum number of multipart fields exceeded.");
60
116
  }
61
- const value = parsed.body.toString(options.encoding ?? "utf8");
62
- appendField(fields, parsed.name, value);
117
+ if (part.data.length > maxFieldSize) {
118
+ throw new MultipartLimitError("Multipart field exceeds the configured size limit.");
119
+ }
120
+ appendField(fields, part.name, part.data.toString(options.encoding ?? "utf8"));
63
121
  }
64
122
  return {
65
123
  fields,
@@ -111,6 +169,15 @@ async function readMultipartBody(request, limit) {
111
169
  if (settled) {
112
170
  return;
113
171
  }
172
+ /*
173
+ * A body shorter than its declared Content-Length means the client
174
+ * stopped sending. Resolving it would hand a silently truncated upload
175
+ * to the caller as if it were complete.
176
+ */
177
+ if (contentLength !== undefined && total !== contentLength) {
178
+ fail(new MultipartParseError("Multipart request body length does not match Content-Length."));
179
+ return;
180
+ }
114
181
  settled = true;
115
182
  cleanup();
116
183
  resolve(Buffer.concat(chunks, total));
@@ -154,32 +221,49 @@ export function extractBoundary(contentType) {
154
221
  if (!contentType) {
155
222
  return undefined;
156
223
  }
157
- const match = /(?:^|;)\s*boundary=(?:"([^"]+)"|([^;]+))/i.exec(contentType);
224
+ const match = /(?:^|;)\s*boundary=(?:"([^"]*)"|([^;]*))/i.exec(contentType);
158
225
  if (!match) {
159
226
  return undefined;
160
227
  }
161
- return (match[1] ?? match[2])?.trim();
228
+ const boundary = (match[1] ?? match[2] ?? "").trim();
229
+ return boundary.length > 0 ? boundary : undefined;
162
230
  }
163
231
  function validateBoundary(boundary) {
164
232
  if (boundary.length === 0 || boundary.length > 70) {
165
233
  throw new MultipartParseError("Invalid multipart boundary.");
166
234
  }
167
235
  }
168
- function parseMultipartPart(part, encoding) {
236
+ /* -------------------------------------------------------------------------- */
237
+ /* Part Parsing */
238
+ /* -------------------------------------------------------------------------- */
239
+ function parseMultipartPart(part, encoding, allowUnnamed) {
169
240
  const separator = findHeaderSeparator(part);
170
- if (separator === -1) {
171
- return undefined;
241
+ if (separator === undefined) {
242
+ if (part.length === 0 || allowUnnamed) {
243
+ return undefined;
244
+ }
245
+ throw new MultipartParseError("Multipart part has no header/body separator.");
172
246
  }
173
- const headerBuffer = part.subarray(0, separator);
174
- const bodyStart = separator + getHeaderSeparatorLength(part, separator);
175
- const body = part.subarray(bodyStart);
247
+ const headerBuffer = part.subarray(0, separator.index);
248
+ /*
249
+ * The body is taken verbatim. The delimiter's own CRLF was already excluded
250
+ * by the split, so stripping again here would silently delete two bytes
251
+ * from any upload whose content genuinely ends in CRLF.
252
+ */
253
+ const body = part.subarray(separator.index + separator.length);
176
254
  const headers = parsePartHeaders(headerBuffer.toString(encoding));
177
255
  const disposition = headers.contentDisposition;
178
256
  if (!disposition) {
179
- return undefined;
257
+ if (allowUnnamed) {
258
+ return undefined;
259
+ }
260
+ throw new MultipartParseError("Multipart part is missing Content-Disposition.");
180
261
  }
181
262
  const name = getDispositionParameter(disposition, "name");
182
263
  if (!name) {
264
+ if (allowUnnamed) {
265
+ return undefined;
266
+ }
183
267
  throw new MultipartParseError("Multipart part is missing a field name.");
184
268
  }
185
269
  const filename = getDispositionParameter(disposition, "filename");
@@ -188,14 +272,14 @@ function parseMultipartPart(part, encoding) {
188
272
  filename: filename === null ? undefined : filename,
189
273
  contentType: headers.contentType,
190
274
  transferEncoding: headers.contentTransferEncoding,
191
- body: stripTrailingCRLF(body),
275
+ data: body,
192
276
  };
193
277
  }
194
278
  /* -------------------------------------------------------------------------- */
195
279
  /* Header Parsing */
196
280
  /* -------------------------------------------------------------------------- */
197
281
  function parsePartHeaders(headerBlock) {
198
- const headers = {};
282
+ const headers = Object.create(null);
199
283
  for (const line of headerBlock.split(/\r?\n/)) {
200
284
  const separator = line.indexOf(":");
201
285
  if (separator <= 0) {
@@ -206,62 +290,151 @@ function parsePartHeaders(headerBlock) {
206
290
  headers[name] = value;
207
291
  }
208
292
  return {
209
- contentDisposition: headers["content-disposition"],
210
- contentType: headers["content-type"],
211
- contentTransferEncoding: headers["content-transfer-encoding"],
293
+ contentDisposition: ownHeader(headers, "content-disposition"),
294
+ contentType: ownHeader(headers, "content-type"),
295
+ contentTransferEncoding: ownHeader(headers, "content-transfer-encoding"),
212
296
  };
213
297
  }
298
+ function ownHeader(headers, name) {
299
+ return Object.prototype.hasOwnProperty.call(headers, name)
300
+ ? headers[name]
301
+ : undefined;
302
+ }
303
+ /**
304
+ * Reads one Content-Disposition parameter.
305
+ *
306
+ * The RFC 5987 / RFC 2231 extended form (`filename*=UTF-8''%2e%2e%2fetc`) is
307
+ * preferred over the plain form when present, matching what browsers send for
308
+ * non-ASCII names — and, more importantly, so a traversal hidden behind
309
+ * percent-encoding is decoded here and sanitised by the caller rather than
310
+ * being handed through untouched.
311
+ */
214
312
  function getDispositionParameter(disposition, parameter) {
215
- const expression = new RegExp(`(?:^|;)\\s*${escapeRegExp(parameter)}=(?:"([^"]*)"|([^;]*))`, "i");
313
+ const extended = matchDispositionParameter(disposition, `${parameter}*`);
314
+ if (extended !== null) {
315
+ const decoded = decodeExtendedParameter(extended);
316
+ if (decoded !== undefined) {
317
+ return decoded;
318
+ }
319
+ }
320
+ return matchDispositionParameter(disposition, parameter);
321
+ }
322
+ function matchDispositionParameter(disposition, parameter) {
323
+ const expression = new RegExp(`(?:^|;)\\s*${escapeRegExp(parameter)}\\s*=\\s*(?:"([^"]*)"|([^;]*))`, "i");
216
324
  const match = expression.exec(disposition);
217
325
  if (!match) {
218
326
  return null;
219
327
  }
220
- return match[1] ?? match[2] ?? "";
328
+ return match[1] ?? match[2]?.trim() ?? "";
221
329
  }
222
- /* -------------------------------------------------------------------------- */
223
- /* Multipart Splitting */
224
- /* -------------------------------------------------------------------------- */
225
- function splitMultipartBody(body, delimiter) {
226
- const parts = [];
227
- let cursor = 0;
228
- while (cursor < body.length) {
229
- const position = body.indexOf(delimiter, cursor);
230
- if (position === -1) {
231
- break;
232
- }
233
- const partStart = position + delimiter.length;
234
- if (body[partStart] === 45 && body[partStart + 1] === 45) {
235
- break;
330
+ function decodeExtendedParameter(value) {
331
+ const match = /^([^']*)'([^']*)'(.*)$/.exec(value);
332
+ if (!match) {
333
+ return undefined;
334
+ }
335
+ const [, rawCharset, , encoded] = match;
336
+ if (rawCharset === undefined || encoded === undefined) {
337
+ return undefined;
338
+ }
339
+ const charset = rawCharset.toLowerCase();
340
+ if (charset !== "utf-8" && charset !== "iso-8859-1" && charset !== "") {
341
+ return undefined;
342
+ }
343
+ try {
344
+ if (charset === "iso-8859-1") {
345
+ return Buffer.from(percentDecodeBytes(encoded)).toString("latin1");
236
346
  }
237
- let next = body.indexOf(delimiter, partStart);
238
- if (next === -1) {
239
- next = body.length;
347
+ return decodeURIComponent(encoded);
348
+ }
349
+ catch {
350
+ return undefined;
351
+ }
352
+ }
353
+ function percentDecodeBytes(value) {
354
+ const bytes = [];
355
+ for (let index = 0; index < value.length; index += 1) {
356
+ const character = value[index];
357
+ if (character === undefined) {
358
+ continue;
240
359
  }
241
- let part = body.subarray(partStart, next);
242
- part = stripLeadingCRLF(part);
243
- part = stripTrailingCRLF(part);
244
- if (part.length > 0) {
245
- parts.push(part);
360
+ if (character === "%" && index + 2 < value.length) {
361
+ const hex = value.slice(index + 1, index + 3);
362
+ if (/^[0-9a-fA-F]{2}$/.test(hex)) {
363
+ bytes.push(Number.parseInt(hex, 16));
364
+ index += 2;
365
+ continue;
366
+ }
246
367
  }
247
- cursor = next;
368
+ bytes.push(character.charCodeAt(0) & 0xff);
248
369
  }
249
- return parts;
370
+ return Buffer.from(bytes);
250
371
  }
251
- function findHeaderSeparator(buffer) {
252
- return buffer.indexOf(Buffer.from("\r\n\r\n"));
372
+ /* -------------------------------------------------------------------------- */
373
+ /* Multipart Splitting */
374
+ /* -------------------------------------------------------------------------- */
375
+ function findOpeningDelimiter(body, delimiter, crlfDelimiter) {
376
+ if (body.subarray(0, delimiter.length).equals(delimiter)) {
377
+ return delimiter.length;
378
+ }
379
+ const position = body.indexOf(crlfDelimiter);
380
+ if (position === -1) {
381
+ throw new MultipartParseError("Multipart opening delimiter was not found.");
382
+ }
383
+ return position + crlfDelimiter.length;
384
+ }
385
+ /**
386
+ * Skips the transport padding and line break that follow a delimiter.
387
+ *
388
+ * RFC 2046 allows linear whitespace between the delimiter and its CRLF.
389
+ */
390
+ function skipDelimiterEOL(body, position) {
391
+ let cursor = position;
392
+ while (body[cursor] === 32 || body[cursor] === 9) {
393
+ cursor += 1;
394
+ }
395
+ if (body[cursor] === 13 && body[cursor + 1] === 10) {
396
+ return cursor + 2;
397
+ }
398
+ if (body[cursor] === 10) {
399
+ return cursor + 1;
400
+ }
401
+ throw new MultipartParseError("Invalid multipart delimiter line ending.");
253
402
  }
254
- function getHeaderSeparatorLength(buffer, position) {
255
- if (buffer.subarray(position, position + 4).equals(Buffer.from("\r\n\r\n"))) {
256
- return 4;
403
+ /**
404
+ * Locates the blank line between a part's headers and its body.
405
+ *
406
+ * Both the CRLF form and the bare-LF form some non-browser clients emit are
407
+ * recognised. A part with neither is an error rather than a silent discard.
408
+ */
409
+ function findHeaderSeparator(buffer) {
410
+ const crlf = buffer.indexOf(CRLF_CRLF);
411
+ const lf = buffer.indexOf(LF_LF);
412
+ if (crlf !== -1 && (lf === -1 || crlf <= lf)) {
413
+ return { index: crlf, length: CRLF_CRLF.length };
414
+ }
415
+ if (lf !== -1) {
416
+ return { index: lf, length: LF_LF.length };
257
417
  }
258
- return 2;
418
+ return undefined;
259
419
  }
260
420
  /* -------------------------------------------------------------------------- */
261
421
  /* Field Utilities */
262
422
  /* -------------------------------------------------------------------------- */
423
+ /**
424
+ * Key names that would mutate a prototype chain if used as a field name.
425
+ */
426
+ const FORBIDDEN_FIELD_NAMES = new Set([
427
+ "__proto__",
428
+ "constructor",
429
+ "prototype",
430
+ ]);
263
431
  function appendField(fields, name, value) {
264
- const existing = fields[name];
432
+ if (FORBIDDEN_FIELD_NAMES.has(name)) {
433
+ return;
434
+ }
435
+ const existing = Object.prototype.hasOwnProperty.call(fields, name)
436
+ ? fields[name]
437
+ : undefined;
265
438
  if (existing === undefined) {
266
439
  fields[name] = value;
267
440
  return;
@@ -272,51 +445,74 @@ function appendField(fields, name, value) {
272
445
  }
273
446
  fields[name] = [existing, value];
274
447
  }
275
- function countFields(fields) {
276
- let count = 0;
277
- for (const value of Object.values(fields)) {
278
- count += Array.isArray(value) ? value.length : 1;
279
- }
280
- return count;
281
- }
282
448
  /* -------------------------------------------------------------------------- */
283
449
  /* Filename Utilities */
284
450
  /* -------------------------------------------------------------------------- */
451
+ /**
452
+ * Reduces an uploaded filename to a safe basename.
453
+ *
454
+ * Neutralises every form of path escape the name can carry: POSIX and Windows
455
+ * separators, the `.` and `..` entries (which `path.join` resolves to the
456
+ * upload directory and its **parent**), a Windows drive-relative prefix such
457
+ * as `C:evil.txt`, control characters including NUL, and a name long enough
458
+ * to blow past `NAME_MAX`. A name that reduces to nothing usable is replaced
459
+ * with a generated one rather than returned empty.
460
+ */
285
461
  export function sanitizeFilename(filename) {
286
462
  const normalized = filename.replace(/\\/g, "/");
287
- const basename = normalized.slice(normalized.lastIndexOf("/") + 1);
288
- const sanitized = basename.replace(/[\u0000-\u001f\u007f]/g, "").trim();
289
- return sanitized || `upload-${randomUUID()}`;
290
- }
291
- /* -------------------------------------------------------------------------- */
292
- /* Buffer Utilities */
293
- /* -------------------------------------------------------------------------- */
294
- function stripLeadingCRLF(buffer) {
295
- if (buffer.length >= 2 && buffer[0] === 13 && buffer[1] === 10) {
296
- return buffer.subarray(2);
463
+ let basename = normalized.slice(normalized.lastIndexOf("/") + 1);
464
+ /* A drive-relative name resolves against that drive's own directory. */
465
+ basename = basename.replace(/^[A-Za-z]:/, "");
466
+ basename = basename.replace(/[\u0000-\u001f\u007f]/g, "").trim();
467
+ /* Leading dots would produce a hidden file or a traversal token. */
468
+ basename = basename.replace(/^\.+/, "");
469
+ basename = truncateToBytes(basename, MAX_FILENAME_BYTES);
470
+ basename = basename.trim();
471
+ if (basename.length === 0 || basename === "." || basename === "..") {
472
+ return `upload-${randomUUID()}`;
297
473
  }
298
- return buffer;
474
+ return basename;
299
475
  }
300
- function stripTrailingCRLF(buffer) {
301
- if (buffer.length >= 2 &&
302
- buffer[buffer.length - 2] === 13 &&
303
- buffer[buffer.length - 1] === 10) {
304
- return buffer.subarray(0, buffer.length - 2);
476
+ function truncateToBytes(value, maxBytes) {
477
+ if (Buffer.byteLength(value, "utf8") <= maxBytes) {
478
+ return value;
305
479
  }
306
- return buffer;
480
+ const buffer = Buffer.from(value, "utf8").subarray(0, maxBytes);
481
+ /* Drop a trailing partial UTF-8 sequence rather than emitting U+FFFD. */
482
+ return new TextDecoder("utf-8", { fatal: false })
483
+ .decode(buffer)
484
+ .replace(/\ufffd+$/, "");
307
485
  }
308
486
  /* -------------------------------------------------------------------------- */
309
487
  /* Request Utilities */
310
488
  /* -------------------------------------------------------------------------- */
489
+ /**
490
+ * Reads `Content-Length`, rejecting the framings RFC 9112 requires a server
491
+ * to refuse: a duplicated header whose values disagree, and a message that
492
+ * carries both `Content-Length` and `Transfer-Encoding`.
493
+ */
311
494
  function getContentLength(request) {
312
495
  const header = request.headers["content-length"];
313
- const value = Array.isArray(header) ? header[0] : header;
314
- if (typeof value !== "string") {
496
+ if (header === undefined) {
315
497
  return undefined;
316
498
  }
317
- const length = Number(value);
318
- if (!Number.isSafeInteger(length) || length < 0) {
319
- throw new MultipartParseError("Invalid Content-Length header.");
499
+ const values = (Array.isArray(header) ? header : [header]).flatMap((entry) => typeof entry === "string" ? entry.split(",") : []);
500
+ if (values.length === 0) {
501
+ return undefined;
502
+ }
503
+ let length;
504
+ for (const value of values) {
505
+ const parsed = Number(value.trim());
506
+ if (!/^\d+$/.test(value.trim()) || !Number.isSafeInteger(parsed)) {
507
+ throw new MultipartParseError("Invalid Content-Length header.");
508
+ }
509
+ if (length !== undefined && parsed !== length) {
510
+ throw new MultipartParseError("Conflicting Content-Length headers.");
511
+ }
512
+ length = parsed;
513
+ }
514
+ if (request.headers["transfer-encoding"] !== undefined) {
515
+ throw new MultipartParseError("Content-Length and Transfer-Encoding must not both be present.");
320
516
  }
321
517
  return length;
322
518
  }
@@ -0,0 +1,119 @@
1
+ /**
2
+ * HTTP content negotiation utilities.
3
+ *
4
+ * Implements parsing and matching for common HTTP negotiation headers:
5
+ *
6
+ * Accept
7
+ * Accept-Encoding
8
+ * Accept-Language
9
+ * Accept-Charset
10
+ *
11
+ * The implementation intentionally keeps the API framework agnostic so it can
12
+ * be used by both the HTTP server and HTTP client layers.
13
+ */
14
+ export interface NegotiationPreference {
15
+ readonly value: string;
16
+ readonly quality: number;
17
+ readonly parameters: Readonly<Record<string, string>>;
18
+ readonly specificity: number;
19
+ readonly order: number;
20
+ }
21
+ export interface NegotiationMatch<T = string> {
22
+ readonly value: T;
23
+ readonly preference: NegotiationPreference;
24
+ readonly score: number;
25
+ }
26
+ export declare const DEFAULT_NEGOTIATION_QUALITY = 1;
27
+ export declare const MIN_NEGOTIATION_QUALITY = 0;
28
+ export declare const MAX_NEGOTIATION_QUALITY = 1;
29
+ /**
30
+ * Maximum number of alternatives parsed from one negotiation header.
31
+ *
32
+ * An `Accept` header costs the attacker nothing to send and every entry is
33
+ * parsed character by character and then sorted, so the list length has to be
34
+ * bounded.
35
+ */
36
+ export declare const MAX_NEGOTIATION_ENTRIES = 64;
37
+ /**
38
+ * Parses a negotiation header into its preferences.
39
+ *
40
+ * The list split honours `quoted-string`, so a comma inside a quoted
41
+ * parameter (`profile="a,b"`) no longer tears one preference into three.
42
+ *
43
+ * @param header - The raw header value.
44
+ * @returns The preferences, sorted by quality then specificity.
45
+ */
46
+ export declare function parseNegotiationHeader(header: string | undefined | null): NegotiationPreference[];
47
+ /**
48
+ * Reports whether a negotiation header was sent with an empty value.
49
+ *
50
+ * RFC 9110 section 12.5.3: an empty `Accept-Encoding` means the client wants
51
+ * no content coding at all, which is a different statement from omitting the
52
+ * header.
53
+ *
54
+ * @param header - The raw header value.
55
+ * @returns `true` if the header is present but empty.
56
+ */
57
+ export declare function isEmptyNegotiationHeader(header: string | undefined | null): boolean;
58
+ export declare function parsePreference(value: string, order?: number): NegotiationPreference;
59
+ /**
60
+ * Parses a `q` parameter value.
61
+ *
62
+ * A weight that does not match the `qvalue` grammar is treated as
63
+ * unacceptable (`0`) rather than as the default `1`; otherwise a garbage
64
+ * weight makes an alternative *maximally* preferred, which lets a client
65
+ * steer negotiation deterministically.
66
+ *
67
+ * @param value - The raw weight.
68
+ * @returns The quality in `[0, 1]`.
69
+ */
70
+ export declare function parseQuality(value: string): number;
71
+ export declare function formatQuality(quality: number): string;
72
+ export declare function isAcceptableQuality(quality: number): boolean;
73
+ export declare function comparePreferences(left: NegotiationPreference, right: NegotiationPreference): number;
74
+ export declare function sortPreferences(preferences: readonly NegotiationPreference[]): NegotiationPreference[];
75
+ export declare function parseAccept(header: string | undefined | null): NegotiationPreference[];
76
+ export declare function matchesAccept(accepted: string, available: string): boolean;
77
+ export declare function negotiateAccept(header: string | undefined | null, available: readonly string[]): string | undefined;
78
+ export declare function parseAcceptEncoding(header: string | undefined | null): NegotiationPreference[];
79
+ export declare function matchesEncoding(accepted: string, available: string): boolean;
80
+ export declare function negotiateEncoding(header: string | undefined | null, available: readonly string[]): string | undefined;
81
+ export declare function getEncodingQuality(header: string | undefined | null, encoding: string): number;
82
+ export declare function parseAcceptLanguage(header: string | undefined | null): NegotiationPreference[];
83
+ export declare function matchesLanguage(accepted: string, available: string): boolean;
84
+ export declare function negotiateLanguage(header: string | undefined | null, available: readonly string[]): string | undefined;
85
+ export declare function getLanguageQuality(header: string | undefined | null, language: string): number;
86
+ export declare function parseAcceptCharset(header: string | undefined | null): NegotiationPreference[];
87
+ export declare function matchesCharset(accepted: string, available: string): boolean;
88
+ export declare function negotiateCharset(header: string | undefined | null, available: readonly string[]): string | undefined;
89
+ /**
90
+ * Selects the best available alternative for a preference list.
91
+ *
92
+ * A `q=0` preference is an **exclusion**, not merely a skipped entry:
93
+ * RFC 9110 section 12.4.2 requires a more specific `q=0` to override a
94
+ * broader wildcard, so `*\/*, text/html;q=0` must not yield `text/html`.
95
+ *
96
+ * @param preferences - The parsed preferences.
97
+ * @param available - The alternatives the server can produce.
98
+ * @param matcher - Matches a preference value against an alternative.
99
+ * @returns The selected alternative, or `undefined` if none is acceptable.
100
+ */
101
+ export declare function negotiate<T>(preferences: readonly NegotiationPreference[], available: readonly T[], matcher: (accepted: string, available: T) => boolean): T | undefined;
102
+ export declare function getPreferenceQuality<T>(preferences: readonly NegotiationPreference[], value: T, matcher: (accepted: string, available: T) => boolean): number;
103
+ export declare function normalizeMediaType(value: string): string;
104
+ export declare function splitMediaType(value: string): [string, string] | undefined;
105
+ export declare function mediaTypeSpecificity(value: string): number;
106
+ export declare function normalizeLanguageTag(value: string): string;
107
+ export declare function languageSpecificity(value: string): number;
108
+ export declare function normalizeEncoding(value: string): string;
109
+ export declare function isIdentityEncoding(value: string): boolean;
110
+ export declare function isWildcardEncoding(value: string): boolean;
111
+ export declare function createPreference(value: string, options?: {
112
+ readonly quality?: number;
113
+ readonly parameters?: Readonly<Record<string, string>>;
114
+ readonly order?: number;
115
+ readonly specificity?: number;
116
+ }): NegotiationPreference;
117
+ export declare function formatNegotiationPreferences(preferences: readonly NegotiationPreference[]): string;
118
+ export declare function formatPreference(preference: NegotiationPreference): string;
119
+ //# sourceMappingURL=httpNegotiation.core.d.ts.map