@mswjs/interceptors 0.41.9 → 0.42.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 (335) hide show
  1. package/README.md +274 -228
  2. package/lib/browser/{bufferUtils-BiiO6HZv.mjs → buffer-utils-DJj7YzLG.js} +3 -3
  3. package/lib/browser/buffer-utils-DJj7YzLG.js.map +1 -0
  4. package/lib/browser/create-request-id-DlEd4GOA.js +184 -0
  5. package/lib/browser/create-request-id-DlEd4GOA.js.map +1 -0
  6. package/lib/browser/{getRawRequest-B1BqgWG6.mjs → fetch-utils-zxA_SD66.js} +123 -52
  7. package/lib/browser/fetch-utils-zxA_SD66.js.map +1 -0
  8. package/lib/browser/handle-request-CIOa9O-N.js +167 -0
  9. package/lib/browser/handle-request-CIOa9O-N.js.map +1 -0
  10. package/lib/{node/hasConfigurableGlobal-BiTmog1u.mjs → browser/has-configurable-global-Cew-dYqk.js} +5 -7
  11. package/lib/browser/has-configurable-global-Cew-dYqk.js.map +1 -0
  12. package/lib/browser/http-CB9rQ7i_.d.ts +105 -0
  13. package/lib/browser/{index.d.cts → index.d.ts} +33 -38
  14. package/lib/browser/index.js +130 -0
  15. package/lib/browser/index.js.map +1 -0
  16. package/lib/browser/interceptor-dtJZ_9QT.d.ts +50 -0
  17. package/lib/browser/interceptors/WebSocket/index.d.ts +2 -0
  18. package/lib/browser/interceptors/WebSocket/{index.mjs → index.js} +39 -30
  19. package/lib/browser/interceptors/WebSocket/index.js.map +1 -0
  20. package/lib/browser/interceptors/XMLHttpRequest/web.d.ts +11 -0
  21. package/lib/browser/interceptors/XMLHttpRequest/web.js +2 -0
  22. package/lib/browser/interceptors/fetch/web.d.ts +14 -0
  23. package/lib/browser/interceptors/fetch/web.js +2 -0
  24. package/lib/browser/presets/browser.d.ts +11 -0
  25. package/lib/browser/presets/browser.js +12 -0
  26. package/lib/browser/presets/browser.js.map +1 -0
  27. package/lib/browser/{resolveWebSocketUrl-C83-x9iE.mjs → resolve-web-socket-url-CSvNPLGi.js} +3 -3
  28. package/lib/browser/resolve-web-socket-url-CSvNPLGi.js.map +1 -0
  29. package/lib/browser/web-BjVDkiX0.js +248 -0
  30. package/lib/browser/web-BjVDkiX0.js.map +1 -0
  31. package/lib/browser/{XMLHttpRequest-DrZAf3w6.mjs → web-C2oKsT3Q.js} +327 -255
  32. package/lib/browser/web-C2oKsT3Q.js.map +1 -0
  33. package/lib/browser/{interceptors/WebSocket/index.d.cts → websocket-CC0nB0md.d.ts} +41 -33
  34. package/lib/node/batch-interceptor-ByEZVih3.js +119 -0
  35. package/lib/node/batch-interceptor-ByEZVih3.js.map +1 -0
  36. package/lib/node/batch-interceptor-CPjFK2td.d.ts +28 -0
  37. package/lib/node/buffer-utils-BvPY1Tc-.js +187 -0
  38. package/lib/node/buffer-utils-BvPY1Tc-.js.map +1 -0
  39. package/lib/node/fetch-utils-Dw1PsmtX.js +568 -0
  40. package/lib/node/fetch-utils-Dw1PsmtX.js.map +1 -0
  41. package/lib/node/has-configurable-global-CJCh_g1I.js +22 -0
  42. package/lib/node/has-configurable-global-CJCh_g1I.js.map +1 -0
  43. package/lib/node/http-CB9rQ7i_.d.ts +105 -0
  44. package/lib/{browser/interceptors/WebSocket/index.d.mts → node/index.d.ts} +120 -60
  45. package/lib/node/{index.mjs → index.js} +8 -11
  46. package/lib/node/index.js.map +1 -0
  47. package/lib/node/interceptor-dtJZ_9QT.d.ts +50 -0
  48. package/lib/node/interceptors/ClientRequest/index.d.ts +14 -0
  49. package/lib/node/interceptors/ClientRequest/index.js +67 -0
  50. package/lib/node/interceptors/ClientRequest/index.js.map +1 -0
  51. package/lib/node/interceptors/XMLHttpRequest/node.d.ts +12 -0
  52. package/lib/node/interceptors/XMLHttpRequest/node.js +74 -0
  53. package/lib/node/interceptors/XMLHttpRequest/node.js.map +1 -0
  54. package/lib/node/interceptors/fetch/node.d.ts +18 -0
  55. package/lib/node/interceptors/fetch/node.js +83 -0
  56. package/lib/node/interceptors/fetch/node.js.map +1 -0
  57. package/lib/node/interceptors/http/index.d.ts +14 -0
  58. package/lib/node/interceptors/http/index.js +32 -0
  59. package/lib/node/interceptors/http/index.js.map +1 -0
  60. package/lib/node/interceptors/net/index.d.ts +203 -0
  61. package/lib/node/interceptors/net/index.js +2 -0
  62. package/lib/node/llhttp/constants.cjs +485 -0
  63. package/lib/node/llhttp/constants.d.cts +957 -0
  64. package/lib/node/llhttp/llhttp.wasm +0 -0
  65. package/lib/node/net-DtMnyEeg.js +1388 -0
  66. package/lib/node/net-DtMnyEeg.js.map +1 -0
  67. package/lib/node/presets/node.d.ts +12 -0
  68. package/lib/node/presets/node.js +17 -0
  69. package/lib/node/presets/node.js.map +1 -0
  70. package/lib/node/{RemoteHttpInterceptor.d.cts → remote-http-interceptor.d.ts} +12 -11
  71. package/lib/node/{RemoteHttpInterceptor.mjs → remote-http-interceptor.js} +38 -33
  72. package/lib/node/remote-http-interceptor.js.map +1 -0
  73. package/lib/node/source-lP0yyEtA.js +1990 -0
  74. package/lib/node/source-lP0yyEtA.js.map +1 -0
  75. package/package.json +79 -118
  76. package/src/batch-interceptor.test.ts +475 -0
  77. package/src/batch-interceptor.ts +244 -0
  78. package/src/{createRequestId.test.ts → create-request-id.test.ts} +1 -2
  79. package/src/disposable.ts +13 -0
  80. package/src/events/http.ts +92 -0
  81. package/src/events/websocket.ts +47 -0
  82. package/src/glossary.ts +1 -27
  83. package/src/index.ts +18 -10
  84. package/src/interceptor.test.ts +279 -0
  85. package/src/interceptor.ts +139 -0
  86. package/src/interceptors/ClientRequest/index.test.ts +21 -39
  87. package/src/interceptors/ClientRequest/index.ts +64 -179
  88. package/src/interceptors/ClientRequest/utils/{recordRawHeaders.test.ts → record-raw-headers.test.ts} +1 -2
  89. package/src/interceptors/ClientRequest/utils/{recordRawHeaders.ts → record-raw-headers.ts} +29 -2
  90. package/src/interceptors/WebSocket/index.ts +33 -50
  91. package/src/interceptors/WebSocket/utils/{bindEvent.test.ts → bind-event.test.ts} +1 -2
  92. package/src/interceptors/WebSocket/utils/events.test.ts +0 -1
  93. package/src/interceptors/WebSocket/{WebSocketClassTransport.ts → web-socket-class-transport.ts} +3 -3
  94. package/src/interceptors/WebSocket/{WebSocketClientConnection.ts → web-socket-client-connection.ts} +4 -4
  95. package/src/interceptors/WebSocket/{WebSocketOverride.ts → web-socket-override.ts} +6 -7
  96. package/src/interceptors/WebSocket/{WebSocketServerConnection.ts → web-socket-server-connection.ts} +4 -4
  97. package/src/interceptors/WebSocket/{WebSocketTransport.ts → web-socket-transport.ts} +1 -1
  98. package/src/interceptors/XMLHttpRequest/node.ts +104 -0
  99. package/src/interceptors/XMLHttpRequest/polyfills/{ProgressEventPolyfill.ts → progress-event-polyfill.ts} +1 -1
  100. package/src/interceptors/XMLHttpRequest/utils/{concateArrayBuffer.test.ts → concat-array-buffer.test.ts} +1 -2
  101. package/src/interceptors/XMLHttpRequest/utils/{concatArrayBuffer.ts → concat-array-buffer.ts} +1 -1
  102. package/src/interceptors/XMLHttpRequest/utils/{createEvent.test.ts → create-event.test.ts} +3 -4
  103. package/src/interceptors/XMLHttpRequest/utils/{createEvent.ts → create-event.ts} +2 -2
  104. package/src/interceptors/XMLHttpRequest/utils/{createResponse.ts → create-response.ts} +1 -1
  105. package/src/interceptors/XMLHttpRequest/utils/{getBodyByteLength.test.ts → get-body-byte-length.test.ts} +1 -2
  106. package/src/interceptors/XMLHttpRequest/web.ts +34 -0
  107. package/src/interceptors/XMLHttpRequest/{XMLHttpRequestController.ts → xml-http-request-controller.ts} +363 -204
  108. package/src/interceptors/XMLHttpRequest/{XMLHttpRequestProxy.ts → xml-http-request-proxy.ts} +28 -25
  109. package/src/interceptors/fetch/node.ts +103 -0
  110. package/src/interceptors/fetch/utils/{followRedirect.ts → follow-redirect.ts} +1 -1
  111. package/src/interceptors/fetch/web.ts +217 -0
  112. package/src/interceptors/http/forward-events.test.ts +86 -0
  113. package/src/interceptors/http/forward-events.ts +139 -0
  114. package/src/interceptors/http/http-parser/index.ts +310 -0
  115. package/src/interceptors/http/http-parser/llhttp/constants.cjs +485 -0
  116. package/src/interceptors/http/http-parser/llhttp/constants.d.cts +957 -0
  117. package/src/interceptors/http/http-parser/llhttp/llhttp.wasm +0 -0
  118. package/src/interceptors/http/http-parser.ts +138 -0
  119. package/src/interceptors/http/index.ts +34 -0
  120. package/src/interceptors/http/source.ts +688 -0
  121. package/src/interceptors/net/index.ts +368 -0
  122. package/src/interceptors/net/socket-controller.ts +1476 -0
  123. package/src/interceptors/net/utils/address-info.ts +54 -0
  124. package/src/interceptors/net/utils/connection-options-to-url.ts +56 -0
  125. package/src/interceptors/net/utils/flush-writes.ts +57 -0
  126. package/src/interceptors/net/utils/get-tls-connect-options.ts +23 -0
  127. package/src/interceptors/net/utils/normalize-net-connect-args.test.ts +233 -0
  128. package/src/interceptors/net/utils/normalize-net-connect-args.ts +121 -0
  129. package/src/interceptors/net/utils/normalize-tls-connect-args.ts +50 -0
  130. package/src/presets/browser.ts +4 -4
  131. package/src/presets/node.ts +4 -4
  132. package/src/{RemoteHttpInterceptor.ts → remote-http-interceptor.ts} +55 -42
  133. package/src/request-context.ts +40 -0
  134. package/src/{RequestController.test.ts → request-controller.test.ts} +37 -3
  135. package/src/{RequestController.ts → request-controller.ts} +33 -11
  136. package/src/utils/{bufferUtils.test.ts → buffer-utils.test.ts} +1 -2
  137. package/src/utils/buffer-utils.ts +37 -0
  138. package/src/utils/{cloneObject.test.ts → clone-object.test.ts} +1 -2
  139. package/src/utils/{cloneObject.ts → clone-object.ts} +8 -8
  140. package/src/utils/{createProxy.test.ts → create-proxy.test.ts} +6 -4
  141. package/src/utils/{createProxy.ts → create-proxy.ts} +1 -1
  142. package/src/utils/{fetchUtils.test.ts → fetch-utils.test.ts} +1 -1
  143. package/src/utils/{fetchUtils.ts → fetch-utils.ts} +28 -3
  144. package/src/utils/{findPropertySource.test.ts → find-property-source.test.ts} +1 -2
  145. package/src/utils/{getCleanUrl.test.ts → get-clean-url.test.ts} +1 -2
  146. package/src/utils/{getUrlByRequestOptions.test.ts → get-url-by-request-options.test.ts} +4 -8
  147. package/src/utils/{getUrlByRequestOptions.ts → get-url-by-request-options.ts} +16 -16
  148. package/src/utils/{getValueBySymbol.test.ts → get-value-by-symbol.test.ts} +1 -2
  149. package/src/utils/{handleRequest.ts → handle-request.ts} +61 -41
  150. package/src/utils/{hasConfigurableGlobal.test.ts → has-configurable-global.test.ts} +1 -2
  151. package/src/utils/{hasConfigurableGlobal.ts → has-configurable-global.ts} +2 -4
  152. package/src/utils/{isObject.test.ts → is-object.test.ts} +1 -2
  153. package/src/utils/logger.test.ts +154 -0
  154. package/src/utils/logger.ts +154 -0
  155. package/src/utils/{parseJson.test.ts → parse-json.test.ts} +1 -2
  156. package/src/utils/{patchesRegistry.test.ts → patches-registry.test.ts} +1 -1
  157. package/src/utils/{patchesRegistry.ts → patches-registry.ts} +1 -1
  158. package/src/utils/{responseUtils.ts → response-utils.ts} +25 -2
  159. package/ClientRequest/package.json +0 -11
  160. package/RemoteHttpInterceptor/package.json +0 -11
  161. package/WebSocket/package.json +0 -12
  162. package/XMLHttpRequest/package.json +0 -12
  163. package/fetch/package.json +0 -12
  164. package/lib/browser/Interceptor-Deczogc8.d.cts +0 -65
  165. package/lib/browser/Interceptor-gqKgs-aF.d.mts +0 -65
  166. package/lib/browser/XMLHttpRequest-DrZAf3w6.mjs.map +0 -1
  167. package/lib/browser/XMLHttpRequest-gXuzzX1g.cjs +0 -751
  168. package/lib/browser/XMLHttpRequest-gXuzzX1g.cjs.map +0 -1
  169. package/lib/browser/bufferUtils-BiiO6HZv.mjs.map +0 -1
  170. package/lib/browser/bufferUtils-Uc0eRItL.cjs +0 -38
  171. package/lib/browser/bufferUtils-Uc0eRItL.cjs.map +0 -1
  172. package/lib/browser/createRequestId-DOf8Ktjs.cjs +0 -205
  173. package/lib/browser/createRequestId-DOf8Ktjs.cjs.map +0 -1
  174. package/lib/browser/createRequestId-DYCsFHOi.mjs +0 -170
  175. package/lib/browser/createRequestId-DYCsFHOi.mjs.map +0 -1
  176. package/lib/browser/fetch-5IMPqr9e.mjs +0 -236
  177. package/lib/browser/fetch-5IMPqr9e.mjs.map +0 -1
  178. package/lib/browser/fetch-Bt9rMY9c.cjs +0 -241
  179. package/lib/browser/fetch-Bt9rMY9c.cjs.map +0 -1
  180. package/lib/browser/getRawRequest-B1BqgWG6.mjs.map +0 -1
  181. package/lib/browser/getRawRequest-DdfaiPVH.cjs +0 -376
  182. package/lib/browser/getRawRequest-DdfaiPVH.cjs.map +0 -1
  183. package/lib/browser/glossary-1lhZx6Aw.d.cts +0 -69
  184. package/lib/browser/glossary-nkHWcwvY.d.mts +0 -69
  185. package/lib/browser/handleRequest-CJim54xG.cjs +0 -191
  186. package/lib/browser/handleRequest-CJim54xG.cjs.map +0 -1
  187. package/lib/browser/handleRequest-CPPgsG7s.mjs +0 -180
  188. package/lib/browser/handleRequest-CPPgsG7s.mjs.map +0 -1
  189. package/lib/browser/hasConfigurableGlobal-C8zq1MCg.mjs +0 -109
  190. package/lib/browser/hasConfigurableGlobal-C8zq1MCg.mjs.map +0 -1
  191. package/lib/browser/hasConfigurableGlobal-CS7adEvV.cjs +0 -126
  192. package/lib/browser/hasConfigurableGlobal-CS7adEvV.cjs.map +0 -1
  193. package/lib/browser/index.cjs +0 -70
  194. package/lib/browser/index.cjs.map +0 -1
  195. package/lib/browser/index.d.mts +0 -125
  196. package/lib/browser/index.mjs +0 -56
  197. package/lib/browser/index.mjs.map +0 -1
  198. package/lib/browser/interceptors/WebSocket/index.cjs +0 -618
  199. package/lib/browser/interceptors/WebSocket/index.cjs.map +0 -1
  200. package/lib/browser/interceptors/WebSocket/index.mjs.map +0 -1
  201. package/lib/browser/interceptors/XMLHttpRequest/index.cjs +0 -8
  202. package/lib/browser/interceptors/XMLHttpRequest/index.d.cts +0 -15
  203. package/lib/browser/interceptors/XMLHttpRequest/index.d.mts +0 -15
  204. package/lib/browser/interceptors/XMLHttpRequest/index.mjs +0 -8
  205. package/lib/browser/interceptors/fetch/index.cjs +0 -7
  206. package/lib/browser/interceptors/fetch/index.d.cts +0 -13
  207. package/lib/browser/interceptors/fetch/index.d.mts +0 -13
  208. package/lib/browser/interceptors/fetch/index.mjs +0 -7
  209. package/lib/browser/presets/browser.cjs +0 -18
  210. package/lib/browser/presets/browser.cjs.map +0 -1
  211. package/lib/browser/presets/browser.d.cts +0 -12
  212. package/lib/browser/presets/browser.d.mts +0 -14
  213. package/lib/browser/presets/browser.mjs +0 -18
  214. package/lib/browser/presets/browser.mjs.map +0 -1
  215. package/lib/browser/resolveWebSocketUrl-6K6EgqsA.cjs +0 -31
  216. package/lib/browser/resolveWebSocketUrl-6K6EgqsA.cjs.map +0 -1
  217. package/lib/browser/resolveWebSocketUrl-C83-x9iE.mjs.map +0 -1
  218. package/lib/node/BatchInterceptor-BGhH8z1z.cjs +0 -49
  219. package/lib/node/BatchInterceptor-BGhH8z1z.cjs.map +0 -1
  220. package/lib/node/BatchInterceptor-C4-RX5rg.mjs +0 -44
  221. package/lib/node/BatchInterceptor-C4-RX5rg.mjs.map +0 -1
  222. package/lib/node/BatchInterceptor-KKF8Q47I.d.cts +0 -26
  223. package/lib/node/BatchInterceptor-rSr-NH_H.d.mts +0 -26
  224. package/lib/node/ClientRequest-2loAH7xM.cjs +0 -1058
  225. package/lib/node/ClientRequest-2loAH7xM.cjs.map +0 -1
  226. package/lib/node/ClientRequest-DGhBX21V.mjs +0 -1049
  227. package/lib/node/ClientRequest-DGhBX21V.mjs.map +0 -1
  228. package/lib/node/Interceptor-BsZ21ue0.d.cts +0 -132
  229. package/lib/node/Interceptor-soD-WpQO.d.mts +0 -132
  230. package/lib/node/RemoteHttpInterceptor.cjs +0 -155
  231. package/lib/node/RemoteHttpInterceptor.cjs.map +0 -1
  232. package/lib/node/RemoteHttpInterceptor.d.mts +0 -39
  233. package/lib/node/RemoteHttpInterceptor.mjs.map +0 -1
  234. package/lib/node/XMLHttpRequest-BtDNZipW.cjs +0 -752
  235. package/lib/node/XMLHttpRequest-BtDNZipW.cjs.map +0 -1
  236. package/lib/node/XMLHttpRequest-Dw6Wm-UU.mjs +0 -746
  237. package/lib/node/XMLHttpRequest-Dw6Wm-UU.mjs.map +0 -1
  238. package/lib/node/bufferUtils-DxPxwff_.mjs +0 -20
  239. package/lib/node/bufferUtils-DxPxwff_.mjs.map +0 -1
  240. package/lib/node/bufferUtils-S5_-2eN4.cjs +0 -38
  241. package/lib/node/bufferUtils-S5_-2eN4.cjs.map +0 -1
  242. package/lib/node/chunk-CbDLau6x.cjs +0 -34
  243. package/lib/node/fetch-CaC3rGEu.mjs +0 -252
  244. package/lib/node/fetch-CaC3rGEu.mjs.map +0 -1
  245. package/lib/node/fetch-D2ClLNN-.cjs +0 -259
  246. package/lib/node/fetch-D2ClLNN-.cjs.map +0 -1
  247. package/lib/node/fetchUtils-BKJ1XmiO.mjs +0 -480
  248. package/lib/node/fetchUtils-BKJ1XmiO.mjs.map +0 -1
  249. package/lib/node/fetchUtils-umV5xXBy.cjs +0 -546
  250. package/lib/node/fetchUtils-umV5xXBy.cjs.map +0 -1
  251. package/lib/node/getRawRequest-B6znU6il.cjs +0 -36
  252. package/lib/node/getRawRequest-B6znU6il.cjs.map +0 -1
  253. package/lib/node/getRawRequest-C2-1urzA.mjs +0 -24
  254. package/lib/node/getRawRequest-C2-1urzA.mjs.map +0 -1
  255. package/lib/node/handleRequest-C-cKYjIh.cjs +0 -222
  256. package/lib/node/handleRequest-C-cKYjIh.cjs.map +0 -1
  257. package/lib/node/handleRequest-FIQv5pwH.mjs +0 -192
  258. package/lib/node/handleRequest-FIQv5pwH.mjs.map +0 -1
  259. package/lib/node/hasConfigurableGlobal-BiTmog1u.mjs.map +0 -1
  260. package/lib/node/hasConfigurableGlobal-MjY06_Ok.cjs +0 -108
  261. package/lib/node/hasConfigurableGlobal-MjY06_Ok.cjs.map +0 -1
  262. package/lib/node/index-BJ5E5aW-.d.cts +0 -113
  263. package/lib/node/index-DfoF45ih.d.mts +0 -113
  264. package/lib/node/index.cjs +0 -53
  265. package/lib/node/index.cjs.map +0 -1
  266. package/lib/node/index.d.cts +0 -104
  267. package/lib/node/index.d.mts +0 -104
  268. package/lib/node/index.mjs.map +0 -1
  269. package/lib/node/interceptors/ClientRequest/index.cjs +0 -6
  270. package/lib/node/interceptors/ClientRequest/index.d.cts +0 -2
  271. package/lib/node/interceptors/ClientRequest/index.d.mts +0 -3
  272. package/lib/node/interceptors/ClientRequest/index.mjs +0 -6
  273. package/lib/node/interceptors/XMLHttpRequest/index.cjs +0 -7
  274. package/lib/node/interceptors/XMLHttpRequest/index.d.cts +0 -14
  275. package/lib/node/interceptors/XMLHttpRequest/index.d.mts +0 -14
  276. package/lib/node/interceptors/XMLHttpRequest/index.mjs +0 -7
  277. package/lib/node/interceptors/fetch/index.cjs +0 -6
  278. package/lib/node/interceptors/fetch/index.d.cts +0 -12
  279. package/lib/node/interceptors/fetch/index.d.mts +0 -12
  280. package/lib/node/interceptors/fetch/index.mjs +0 -6
  281. package/lib/node/node-DIKcnzhK.cjs +0 -39
  282. package/lib/node/node-DIKcnzhK.cjs.map +0 -1
  283. package/lib/node/node-lsdNwZEW.mjs +0 -27
  284. package/lib/node/node-lsdNwZEW.mjs.map +0 -1
  285. package/lib/node/presets/node.cjs +0 -23
  286. package/lib/node/presets/node.cjs.map +0 -1
  287. package/lib/node/presets/node.d.cts +0 -13
  288. package/lib/node/presets/node.d.mts +0 -15
  289. package/lib/node/presets/node.mjs +0 -23
  290. package/lib/node/presets/node.mjs.map +0 -1
  291. package/lib/node/utils/node/index.cjs +0 -4
  292. package/lib/node/utils/node/index.d.cts +0 -16
  293. package/lib/node/utils/node/index.d.mts +0 -16
  294. package/lib/node/utils/node/index.mjs +0 -3
  295. package/presets/browser/package.json +0 -5
  296. package/presets/node/package.json +0 -11
  297. package/src/BatchInterceptor.test.ts +0 -255
  298. package/src/BatchInterceptor.ts +0 -96
  299. package/src/Interceptor.test.ts +0 -205
  300. package/src/Interceptor.ts +0 -249
  301. package/src/getRawRequest.ts +0 -21
  302. package/src/interceptors/ClientRequest/MockHttpSocket.ts +0 -724
  303. package/src/interceptors/ClientRequest/agents.ts +0 -110
  304. package/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts +0 -54
  305. package/src/interceptors/ClientRequest/utils/getIncomingMessageBody.ts +0 -45
  306. package/src/interceptors/ClientRequest/utils/normalizeClientRequestArgs.test.ts +0 -427
  307. package/src/interceptors/ClientRequest/utils/normalizeClientRequestArgs.ts +0 -268
  308. package/src/interceptors/ClientRequest/utils/parserUtils.ts +0 -48
  309. package/src/interceptors/Socket/MockSocket.test.ts +0 -264
  310. package/src/interceptors/Socket/MockSocket.ts +0 -58
  311. package/src/interceptors/Socket/utils/baseUrlFromConnectionOptions.ts +0 -26
  312. package/src/interceptors/Socket/utils/normalizeSocketWriteArgs.test.ts +0 -52
  313. package/src/interceptors/Socket/utils/normalizeSocketWriteArgs.ts +0 -33
  314. package/src/interceptors/XMLHttpRequest/index.ts +0 -40
  315. package/src/interceptors/fetch/index.ts +0 -203
  316. package/src/utils/bufferUtils.ts +0 -22
  317. package/src/utils/canParseUrl.ts +0 -13
  318. package/src/utils/emitAsync.ts +0 -25
  319. package/src/utils/nextTick.ts +0 -11
  320. package/src/utils/node/index.ts +0 -39
  321. /package/src/{createRequestId.ts → create-request-id.ts} +0 -0
  322. /package/src/{InterceptorError.ts → interceptor-error.ts} +0 -0
  323. /package/src/interceptors/WebSocket/utils/{bindEvent.ts → bind-event.ts} +0 -0
  324. /package/src/interceptors/XMLHttpRequest/polyfills/{EventPolyfill.ts → event-polyfill.ts} +0 -0
  325. /package/src/interceptors/XMLHttpRequest/utils/{getBodyByteLength.ts → get-body-byte-length.ts} +0 -0
  326. /package/src/interceptors/XMLHttpRequest/utils/{isDomParserSupportedType.ts → is-dom-parser-supported-type.ts} +0 -0
  327. /package/src/interceptors/fetch/utils/{createNetworkError.ts → create-network-error.ts} +0 -0
  328. /package/src/utils/{findPropertySource.ts → find-property-source.ts} +0 -0
  329. /package/src/utils/{getCleanUrl.ts → get-clean-url.ts} +0 -0
  330. /package/src/utils/{getValueBySymbol.ts → get-value-by-symbol.ts} +0 -0
  331. /package/src/utils/{isNodeLikeError.ts → is-node-like-error.ts} +0 -0
  332. /package/src/utils/{isObject.ts → is-object.ts} +0 -0
  333. /package/src/utils/{isPropertyAccessible.ts → is-property-accessible.ts} +0 -0
  334. /package/src/utils/{parseJson.ts → parse-json.ts} +0 -0
  335. /package/src/utils/{resolveWebSocketUrl.ts → resolve-web-socket-url.ts} +0 -0
@@ -0,0 +1,485 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SPECIAL_HEADERS = exports.MINOR = exports.MAJOR = exports.QDTEXT = exports.CONNECTION_TOKEN_CHARS = exports.RELAXED_HEADER_CHARS = exports.HEADER_CHARS = exports.HTAB_SP_VCHAR_OBS_TEXT = exports.SP = exports.HTAB = exports.TOKEN = exports.HEX = exports.URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.DIGIT = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.METHODS = exports.METHODS_HTTP = exports.METHODS_HTTP2 = exports.METHODS_HTTP1 = exports.METHODS_RTSP = exports.METHODS_RAOP = exports.METHODS_AIRPLAY = exports.METHODS_ICECAST = exports.METHODS_NON_STANDARD = exports.METHODS_CALDAV = exports.METHODS_UPNP = exports.METHODS_SUBVERSION = exports.METHODS_WEBDAV = exports.METHODS_BASIC_HTTP = exports.METHODS_HTTP1_HEAD = exports.HEADER_STATE = exports.FINISH = exports.STATUSES = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0;
4
+ exports.ERROR = {
5
+ OK: 0,
6
+ INTERNAL: 1,
7
+ STRICT: 2,
8
+ CR_EXPECTED: 25,
9
+ LF_EXPECTED: 3,
10
+ UNEXPECTED_CONTENT_LENGTH: 4,
11
+ UNEXPECTED_SPACE: 30,
12
+ CLOSED_CONNECTION: 5,
13
+ INVALID_METHOD: 6,
14
+ INVALID_URL: 7,
15
+ INVALID_CONSTANT: 8,
16
+ INVALID_VERSION: 9,
17
+ INVALID_HEADER_TOKEN: 10,
18
+ INVALID_CONTENT_LENGTH: 11,
19
+ INVALID_CHUNK_SIZE: 12,
20
+ INVALID_STATUS: 13,
21
+ INVALID_EOF_STATE: 14,
22
+ INVALID_TRANSFER_ENCODING: 15,
23
+ CB_MESSAGE_BEGIN: 16,
24
+ CB_HEADERS_COMPLETE: 17,
25
+ CB_MESSAGE_COMPLETE: 18,
26
+ CB_CHUNK_HEADER: 19,
27
+ CB_CHUNK_COMPLETE: 20,
28
+ PAUSED: 21,
29
+ PAUSED_UPGRADE: 22,
30
+ PAUSED_H2_UPGRADE: 23,
31
+ USER: 24,
32
+ CB_URL_COMPLETE: 26,
33
+ CB_STATUS_COMPLETE: 27,
34
+ CB_METHOD_COMPLETE: 32,
35
+ CB_VERSION_COMPLETE: 33,
36
+ CB_HEADER_FIELD_COMPLETE: 28,
37
+ CB_HEADER_VALUE_COMPLETE: 29,
38
+ CB_CHUNK_EXTENSION_NAME_COMPLETE: 34,
39
+ CB_CHUNK_EXTENSION_VALUE_COMPLETE: 35,
40
+ CB_RESET: 31,
41
+ CB_PROTOCOL_COMPLETE: 38,
42
+ };
43
+ exports.TYPE = {
44
+ BOTH: 0, // default
45
+ REQUEST: 1,
46
+ RESPONSE: 2,
47
+ };
48
+ exports.FLAGS = {
49
+ CONNECTION_KEEP_ALIVE: 1 << 0,
50
+ CONNECTION_CLOSE: 1 << 1,
51
+ CONNECTION_UPGRADE: 1 << 2,
52
+ CHUNKED: 1 << 3,
53
+ UPGRADE: 1 << 4,
54
+ CONTENT_LENGTH: 1 << 5,
55
+ SKIPBODY: 1 << 6,
56
+ TRAILING: 1 << 7,
57
+ // 1 << 8 is unused
58
+ TRANSFER_ENCODING: 1 << 9,
59
+ };
60
+ exports.LENIENT_FLAGS = {
61
+ HEADERS: 1 << 0,
62
+ CHUNKED_LENGTH: 1 << 1,
63
+ KEEP_ALIVE: 1 << 2,
64
+ TRANSFER_ENCODING: 1 << 3,
65
+ VERSION: 1 << 4,
66
+ DATA_AFTER_CLOSE: 1 << 5,
67
+ OPTIONAL_LF_AFTER_CR: 1 << 6,
68
+ OPTIONAL_CRLF_AFTER_CHUNK: 1 << 7,
69
+ OPTIONAL_CR_BEFORE_LF: 1 << 8,
70
+ SPACES_AFTER_CHUNK_SIZE: 1 << 9,
71
+ HEADER_VALUE_RELAXED: 1 << 10,
72
+ };
73
+ exports.STATUSES = {
74
+ CONTINUE: 100,
75
+ SWITCHING_PROTOCOLS: 101,
76
+ PROCESSING: 102,
77
+ EARLY_HINTS: 103,
78
+ RESPONSE_IS_STALE: 110, // Unofficial
79
+ REVALIDATION_FAILED: 111, // Unofficial
80
+ DISCONNECTED_OPERATION: 112, // Unofficial
81
+ HEURISTIC_EXPIRATION: 113, // Unofficial
82
+ MISCELLANEOUS_WARNING: 199, // Unofficial
83
+ OK: 200,
84
+ CREATED: 201,
85
+ ACCEPTED: 202,
86
+ NON_AUTHORITATIVE_INFORMATION: 203,
87
+ NO_CONTENT: 204,
88
+ RESET_CONTENT: 205,
89
+ PARTIAL_CONTENT: 206,
90
+ MULTI_STATUS: 207,
91
+ ALREADY_REPORTED: 208,
92
+ TRANSFORMATION_APPLIED: 214, // Unofficial
93
+ IM_USED: 226,
94
+ MISCELLANEOUS_PERSISTENT_WARNING: 299, // Unofficial
95
+ MULTIPLE_CHOICES: 300,
96
+ MOVED_PERMANENTLY: 301,
97
+ FOUND: 302,
98
+ SEE_OTHER: 303,
99
+ NOT_MODIFIED: 304,
100
+ USE_PROXY: 305,
101
+ SWITCH_PROXY: 306, // No longer used
102
+ TEMPORARY_REDIRECT: 307,
103
+ PERMANENT_REDIRECT: 308,
104
+ BAD_REQUEST: 400,
105
+ UNAUTHORIZED: 401,
106
+ PAYMENT_REQUIRED: 402,
107
+ FORBIDDEN: 403,
108
+ NOT_FOUND: 404,
109
+ METHOD_NOT_ALLOWED: 405,
110
+ NOT_ACCEPTABLE: 406,
111
+ PROXY_AUTHENTICATION_REQUIRED: 407,
112
+ REQUEST_TIMEOUT: 408,
113
+ CONFLICT: 409,
114
+ GONE: 410,
115
+ LENGTH_REQUIRED: 411,
116
+ PRECONDITION_FAILED: 412,
117
+ PAYLOAD_TOO_LARGE: 413,
118
+ URI_TOO_LONG: 414,
119
+ UNSUPPORTED_MEDIA_TYPE: 415,
120
+ RANGE_NOT_SATISFIABLE: 416,
121
+ EXPECTATION_FAILED: 417,
122
+ IM_A_TEAPOT: 418,
123
+ PAGE_EXPIRED: 419, // Unofficial
124
+ ENHANCE_YOUR_CALM: 420, // Unofficial
125
+ MISDIRECTED_REQUEST: 421,
126
+ UNPROCESSABLE_ENTITY: 422,
127
+ LOCKED: 423,
128
+ FAILED_DEPENDENCY: 424,
129
+ TOO_EARLY: 425,
130
+ UPGRADE_REQUIRED: 426,
131
+ PRECONDITION_REQUIRED: 428,
132
+ TOO_MANY_REQUESTS: 429,
133
+ REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL: 430, // Unofficial
134
+ REQUEST_HEADER_FIELDS_TOO_LARGE: 431,
135
+ LOGIN_TIMEOUT: 440, // Unofficial
136
+ NO_RESPONSE: 444, // Unofficial
137
+ RETRY_WITH: 449, // Unofficial
138
+ BLOCKED_BY_PARENTAL_CONTROL: 450, // Unofficial
139
+ UNAVAILABLE_FOR_LEGAL_REASONS: 451,
140
+ CLIENT_CLOSED_LOAD_BALANCED_REQUEST: 460, // Unofficial
141
+ INVALID_X_FORWARDED_FOR: 463, // Unofficial
142
+ REQUEST_HEADER_TOO_LARGE: 494, // Unofficial
143
+ SSL_CERTIFICATE_ERROR: 495, // Unofficial
144
+ SSL_CERTIFICATE_REQUIRED: 496, // Unofficial
145
+ HTTP_REQUEST_SENT_TO_HTTPS_PORT: 497, // Unofficial
146
+ INVALID_TOKEN: 498, // Unofficial
147
+ CLIENT_CLOSED_REQUEST: 499, // Unofficial
148
+ INTERNAL_SERVER_ERROR: 500,
149
+ NOT_IMPLEMENTED: 501,
150
+ BAD_GATEWAY: 502,
151
+ SERVICE_UNAVAILABLE: 503,
152
+ GATEWAY_TIMEOUT: 504,
153
+ HTTP_VERSION_NOT_SUPPORTED: 505,
154
+ VARIANT_ALSO_NEGOTIATES: 506,
155
+ INSUFFICIENT_STORAGE: 507,
156
+ LOOP_DETECTED: 508,
157
+ BANDWIDTH_LIMIT_EXCEEDED: 509,
158
+ NOT_EXTENDED: 510,
159
+ NETWORK_AUTHENTICATION_REQUIRED: 511,
160
+ WEB_SERVER_UNKNOWN_ERROR: 520, // Unofficial
161
+ WEB_SERVER_IS_DOWN: 521, // Unofficial
162
+ CONNECTION_TIMEOUT: 522, // Unofficial
163
+ ORIGIN_IS_UNREACHABLE: 523, // Unofficial
164
+ TIMEOUT_OCCURED: 524, // Unofficial
165
+ SSL_HANDSHAKE_FAILED: 525, // Unofficial
166
+ INVALID_SSL_CERTIFICATE: 526, // Unofficial
167
+ RAILGUN_ERROR: 527, // Unofficial
168
+ SITE_IS_OVERLOADED: 529, // Unofficial
169
+ SITE_IS_FROZEN: 530, // Unofficial
170
+ IDENTITY_PROVIDER_AUTHENTICATION_ERROR: 561, // Unofficial
171
+ NETWORK_READ_TIMEOUT: 598, // Unofficial
172
+ NETWORK_CONNECT_TIMEOUT: 599, // Unofficial
173
+ };
174
+ exports.FINISH = {
175
+ SAFE: 0,
176
+ SAFE_WITH_CB: 1,
177
+ UNSAFE: 2,
178
+ };
179
+ exports.HEADER_STATE = {
180
+ GENERAL: 0,
181
+ CONNECTION: 1,
182
+ CONTENT_LENGTH: 2,
183
+ TRANSFER_ENCODING: 3,
184
+ UPGRADE: 4,
185
+ CONNECTION_KEEP_ALIVE: 5,
186
+ CONNECTION_CLOSE: 6,
187
+ CONNECTION_UPGRADE: 7,
188
+ TRANSFER_ENCODING_CHUNKED: 8,
189
+ };
190
+ exports.METHODS_HTTP1_HEAD = {
191
+ HEAD: 2,
192
+ };
193
+ /**
194
+ * HTTP methods as defined by RFC-9110 and other specifications.
195
+ * @see https://httpwg.org/specs/rfc9110.html#method.definitions
196
+ */
197
+ exports.METHODS_BASIC_HTTP = {
198
+ DELETE: 0,
199
+ GET: 1,
200
+ ...exports.METHODS_HTTP1_HEAD,
201
+ POST: 3,
202
+ PUT: 4,
203
+ CONNECT: 5,
204
+ OPTIONS: 6,
205
+ TRACE: 7,
206
+ /**
207
+ * @see https://www.rfc-editor.org/rfc/rfc5789.html
208
+ */
209
+ PATCH: 28,
210
+ /* RFC-2068, section 19.6.1.2 */
211
+ LINK: 31,
212
+ UNLINK: 32,
213
+ };
214
+ exports.METHODS_WEBDAV = {
215
+ COPY: 8,
216
+ LOCK: 9,
217
+ MKCOL: 10,
218
+ MOVE: 11,
219
+ PROPFIND: 12,
220
+ PROPPATCH: 13,
221
+ SEARCH: 14,
222
+ UNLOCK: 15,
223
+ BIND: 16,
224
+ REBIND: 17,
225
+ UNBIND: 18,
226
+ ACL: 19,
227
+ };
228
+ exports.METHODS_SUBVERSION = {
229
+ REPORT: 20,
230
+ MKACTIVITY: 21,
231
+ CHECKOUT: 22,
232
+ MERGE: 23,
233
+ };
234
+ exports.METHODS_UPNP = {
235
+ 'M-SEARCH': 24,
236
+ NOTIFY: 25,
237
+ SUBSCRIBE: 26,
238
+ UNSUBSCRIBE: 27,
239
+ };
240
+ exports.METHODS_CALDAV = {
241
+ MKCALENDAR: 30,
242
+ };
243
+ exports.METHODS_NON_STANDARD = {
244
+ /**
245
+ * Not defined in any RFC but commonly used
246
+ */
247
+ PURGE: 29,
248
+ /* DRAFT https://www.ietf.org/archive/id/draft-ietf-httpbis-safe-method-w-body-02.html */
249
+ QUERY: 46,
250
+ };
251
+ exports.METHODS_ICECAST = {
252
+ SOURCE: 33,
253
+ };
254
+ exports.METHODS_AIRPLAY = {
255
+ GET: 1,
256
+ POST: 3,
257
+ };
258
+ exports.METHODS_RAOP = {
259
+ FLUSH: 45,
260
+ };
261
+ /* RFC-2326 RTSP */
262
+ exports.METHODS_RTSP = {
263
+ OPTIONS: exports.METHODS_BASIC_HTTP.OPTIONS,
264
+ DESCRIBE: 35,
265
+ ANNOUNCE: 36,
266
+ SETUP: 37,
267
+ PLAY: 38,
268
+ PAUSE: 39,
269
+ TEARDOWN: 40,
270
+ GET_PARAMETER: 41,
271
+ SET_PARAMETER: 42,
272
+ REDIRECT: 43,
273
+ RECORD: 44,
274
+ ...exports.METHODS_AIRPLAY,
275
+ ...exports.METHODS_RAOP,
276
+ };
277
+ exports.METHODS_HTTP1 = {
278
+ ...exports.METHODS_BASIC_HTTP,
279
+ ...exports.METHODS_WEBDAV,
280
+ ...exports.METHODS_SUBVERSION,
281
+ ...exports.METHODS_UPNP,
282
+ ...exports.METHODS_CALDAV,
283
+ ...exports.METHODS_NON_STANDARD,
284
+ // TODO(indutny): should we allow it with HTTP?
285
+ ...exports.METHODS_ICECAST,
286
+ };
287
+ exports.METHODS_HTTP2 = {
288
+ /**
289
+ * RFC-9113, section 11.6
290
+ * @see https://www.rfc-editor.org/rfc/rfc9113.html#preface
291
+ */
292
+ PRI: 34,
293
+ };
294
+ exports.METHODS_HTTP = {
295
+ ...exports.METHODS_HTTP1,
296
+ ...exports.METHODS_HTTP2,
297
+ };
298
+ exports.METHODS = {
299
+ ...exports.METHODS_HTTP1,
300
+ ...exports.METHODS_HTTP2,
301
+ ...exports.METHODS_RTSP,
302
+ };
303
+ // ALPHA: https://tools.ietf.org/html/rfc5234#appendix-B.1
304
+ exports.ALPHA = [
305
+ "A", "a", "B", "b", "C", "c", "D", "d",
306
+ "E", "e", "F", "f", "G", "g", "H", "h",
307
+ "I", "i", "J", "j", "K", "k", "L", "l",
308
+ "M", "m", "N", "n", "O", "o", "P", "p",
309
+ "Q", "q", "R", "r", "S", "s", "T", "t",
310
+ "U", "u", "V", "v", "W", "w", "X", "x",
311
+ "Y", "y", "Z", "z",
312
+ ];
313
+ exports.NUM_MAP = {
314
+ 0: 0, 1: 1, 2: 2, 3: 3, 4: 4,
315
+ 5: 5, 6: 6, 7: 7, 8: 8, 9: 9,
316
+ };
317
+ exports.HEX_MAP = {
318
+ 0: 0, 1: 1, 2: 2, 3: 3, 4: 4,
319
+ 5: 5, 6: 6, 7: 7, 8: 8, 9: 9,
320
+ A: 0XA, B: 0XB, C: 0XC, D: 0XD, E: 0XE, F: 0XF,
321
+ a: 0xa, b: 0xb, c: 0xc, d: 0xd, e: 0xe, f: 0xf,
322
+ };
323
+ // DIGIT: https://tools.ietf.org/html/rfc5234#appendix-B.1
324
+ exports.DIGIT = [
325
+ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
326
+ ];
327
+ exports.ALPHANUM = [...exports.ALPHA, ...exports.DIGIT];
328
+ exports.MARK = ['-', '_', '.', '!', '~', '*', '\'', '(', ')'];
329
+ exports.USERINFO_CHARS = [...exports.ALPHANUM, ...exports.MARK, '%', ';', ':', '&', '=', '+', '$', ','];
330
+ // TODO(indutny): use RFC
331
+ exports.URL_CHAR = [
332
+ '!', '"', '$', '%', '&', '\'',
333
+ '(', ')', '*', '+', ',', '-', '.', '/',
334
+ ':', ';', '<', '=', '>',
335
+ '@', '[', '\\', ']', '^', '_',
336
+ '`',
337
+ '{', '|', '}', '~',
338
+ ...exports.ALPHANUM
339
+ ];
340
+ exports.HEX = [...exports.DIGIT, 'a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F'];
341
+ /* Tokens as defined by rfc 2616. Also lowercases them.
342
+ * token = 1*<any CHAR except CTLs or separators>
343
+ * separators = "(" | ")" | "<" | ">" | "@"
344
+ * | "," | ";" | ":" | "\" | <">
345
+ * | "/" | "[" | "]" | "?" | "="
346
+ * | "{" | "}" | SP | HT
347
+ */
348
+ exports.TOKEN = [
349
+ '!', '#', '$', '%', '&', '\'',
350
+ '*', '+', '-', '.',
351
+ '^', '_', '`',
352
+ '|', '~',
353
+ ...exports.ALPHANUM
354
+ ];
355
+ // HTAB: https://tools.ietf.org/html/rfc5234#appendix-B.1
356
+ exports.HTAB = ['\t'];
357
+ // SP: https://tools.ietf.org/html/rfc5234#appendix-B.1
358
+ exports.SP = [' '];
359
+ // VCHAR: https://tools.ietf.org/html/rfc5234#appendix-B.1
360
+ const VCHAR = [
361
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
362
+ 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
363
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
364
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
365
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
366
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
367
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
368
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
369
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
370
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
371
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
372
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e,
373
+ ];
374
+ // OBS_TEXT: https://datatracker.ietf.org/doc/html/rfc9110#name-collected-abnf
375
+ // 0x80 - 0xff
376
+ const OBS_TEXT = [
377
+ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
378
+ 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
379
+ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
380
+ 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
381
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
382
+ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
383
+ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
384
+ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
385
+ 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
386
+ 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
387
+ 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
388
+ 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
389
+ 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
390
+ 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
391
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
392
+ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
393
+ ];
394
+ exports.HTAB_SP_VCHAR_OBS_TEXT = [...exports.HTAB, ...exports.SP, ...VCHAR, ...OBS_TEXT];
395
+ exports.HEADER_CHARS = exports.HTAB_SP_VCHAR_OBS_TEXT;
396
+ const RELAXED_CTRL_CHARS = [
397
+ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, // Before TAB
398
+ 0x0b, 0x0c, // VT, FF (between TAB and CR)
399
+ 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, // After CR/LF, before space
400
+ 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
401
+ 0x1e, 0x1f,
402
+ 0x7f, // DEL
403
+ ];
404
+ // Relaxed header chars includes control characters (above) that are not allowed
405
+ // by default. This excludes only NULL (0x00), CR (0x0d), LF (0x0a).
406
+ exports.RELAXED_HEADER_CHARS = [...RELAXED_CTRL_CHARS, ...exports.HEADER_CHARS];
407
+ // ',' = \x2c
408
+ exports.CONNECTION_TOKEN_CHARS = [
409
+ ...exports.HTAB, ...exports.SP,
410
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
411
+ 0x29, 0x2a, 0x2b, /* */ 0x2d, 0x2e, 0x2f, 0x30,
412
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
413
+ 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
414
+ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
415
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
416
+ 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
417
+ 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
418
+ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
419
+ 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
420
+ 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
421
+ 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e,
422
+ ...OBS_TEXT
423
+ ];
424
+ // QDTEXT: https://datatracker.ietf.org/doc/html/rfc9110#section-5.6.4
425
+ exports.QDTEXT = [
426
+ ...exports.HTAB, ...exports.SP,
427
+ 0x21,
428
+ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
429
+ 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32,
430
+ 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a,
431
+ 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42,
432
+ 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
433
+ 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
434
+ 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
435
+ 0x5b,
436
+ 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64,
437
+ 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c,
438
+ 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74,
439
+ 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c,
440
+ 0x7d, 0x7e,
441
+ ...OBS_TEXT
442
+ ];
443
+ exports.MAJOR = exports.NUM_MAP;
444
+ exports.MINOR = exports.MAJOR;
445
+ exports.SPECIAL_HEADERS = {
446
+ 'connection': exports.HEADER_STATE.CONNECTION,
447
+ 'content-length': exports.HEADER_STATE.CONTENT_LENGTH,
448
+ 'proxy-connection': exports.HEADER_STATE.CONNECTION,
449
+ 'transfer-encoding': exports.HEADER_STATE.TRANSFER_ENCODING,
450
+ 'upgrade': exports.HEADER_STATE.UPGRADE,
451
+ };
452
+ exports.default = {
453
+ ERROR: exports.ERROR,
454
+ TYPE: exports.TYPE,
455
+ FLAGS: exports.FLAGS,
456
+ LENIENT_FLAGS: exports.LENIENT_FLAGS,
457
+ STATUSES: exports.STATUSES,
458
+ FINISH: exports.FINISH,
459
+ HEADER_STATE: exports.HEADER_STATE,
460
+ ALPHA: exports.ALPHA,
461
+ NUM_MAP: exports.NUM_MAP,
462
+ HEX_MAP: exports.HEX_MAP,
463
+ DIGIT: exports.DIGIT,
464
+ ALPHANUM: exports.ALPHANUM,
465
+ MARK: exports.MARK,
466
+ USERINFO_CHARS: exports.USERINFO_CHARS,
467
+ URL_CHAR: exports.URL_CHAR,
468
+ HEX: exports.HEX,
469
+ TOKEN: exports.TOKEN,
470
+ HEADER_CHARS: exports.HEADER_CHARS,
471
+ RELAXED_HEADER_CHARS: exports.RELAXED_HEADER_CHARS,
472
+ CONNECTION_TOKEN_CHARS: exports.CONNECTION_TOKEN_CHARS,
473
+ QDTEXT: exports.QDTEXT,
474
+ HTAB_SP_VCHAR_OBS_TEXT: exports.HTAB_SP_VCHAR_OBS_TEXT,
475
+ MAJOR: exports.MAJOR,
476
+ MINOR: exports.MINOR,
477
+ SPECIAL_HEADERS: exports.SPECIAL_HEADERS,
478
+ METHODS: exports.METHODS,
479
+ METHODS_HTTP: exports.METHODS_HTTP,
480
+ METHODS_HTTP1_HEAD: exports.METHODS_HTTP1_HEAD,
481
+ METHODS_HTTP1: exports.METHODS_HTTP1,
482
+ METHODS_HTTP2: exports.METHODS_HTTP2,
483
+ METHODS_ICECAST: exports.METHODS_ICECAST,
484
+ METHODS_RTSP: exports.METHODS_RTSP,
485
+ };