@mswjs/interceptors 0.41.9 → 0.42.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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-Bk5YX1AM.js +720 -0
  5. package/lib/browser/create-request-id-Bk5YX1AM.js.map +1 -0
  6. package/lib/browser/{getRawRequest-B1BqgWG6.mjs → fetch-utils-CUOrwEQf.js} +123 -52
  7. package/lib/browser/fetch-utils-CUOrwEQf.js.map +1 -0
  8. package/lib/browser/handle-request-CqVvBhcw.js +167 -0
  9. package/lib/browser/handle-request-CqVvBhcw.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/{XMLHttpRequest-DrZAf3w6.mjs → web-BcKSQghf.js} +327 -255
  30. package/lib/browser/web-BcKSQghf.js.map +1 -0
  31. package/lib/browser/web-CdcYFjgm.js +248 -0
  32. package/lib/browser/web-CdcYFjgm.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
@@ -1,113 +0,0 @@
1
- import { l as HttpRequestEventMap, r as Interceptor } from "./Interceptor-BsZ21ue0.cjs";
2
- import net from "node:net";
3
-
4
- //#region src/interceptors/Socket/utils/normalizeSocketWriteArgs.d.ts
5
- type WriteCallback = (error?: Error | null) => void;
6
- //#endregion
7
- //#region src/interceptors/Socket/MockSocket.d.ts
8
- interface MockSocketOptions {
9
- write: (chunk: Buffer | string, encoding: BufferEncoding | undefined, callback?: WriteCallback) => void;
10
- read: (chunk: Buffer, encoding: BufferEncoding | undefined) => void;
11
- }
12
- declare class MockSocket extends net.Socket {
13
- protected readonly options: MockSocketOptions;
14
- connecting: boolean;
15
- constructor(options: MockSocketOptions);
16
- connect(): this;
17
- write(...args: Array<unknown>): boolean;
18
- end(...args: Array<unknown>): this;
19
- push(chunk: any, encoding?: BufferEncoding): boolean;
20
- }
21
- //#endregion
22
- //#region src/interceptors/ClientRequest/MockHttpSocket.d.ts
23
- type HttpConnectionOptions = any;
24
- type MockHttpSocketRequestCallback = (args: {
25
- requestId: string;
26
- request: Request;
27
- socket: MockHttpSocket;
28
- }) => void;
29
- type MockHttpSocketResponseCallback = (args: {
30
- requestId: string;
31
- request: Request;
32
- response: Response;
33
- isMockedResponse: boolean;
34
- socket: MockHttpSocket;
35
- }) => Promise<void>;
36
- interface MockHttpSocketOptions {
37
- connectionOptions: HttpConnectionOptions;
38
- createConnection: () => net.Socket;
39
- onRequest: MockHttpSocketRequestCallback;
40
- onResponse: MockHttpSocketResponseCallback;
41
- }
42
- declare class MockHttpSocket extends MockSocket {
43
- private connectionOptions;
44
- private createConnection;
45
- private baseUrl;
46
- private onRequest;
47
- private onResponse;
48
- private responseListenersPromise?;
49
- private requestRawHeadersBuffer;
50
- private responseRawHeadersBuffer;
51
- private writeBuffer;
52
- private request?;
53
- private requestParser;
54
- private requestStream?;
55
- private shouldKeepAlive?;
56
- private socketState;
57
- private responseParser;
58
- private responseStream?;
59
- private originalSocket?;
60
- constructor(options: MockHttpSocketOptions);
61
- emit(event: string | symbol, ...args: any[]): boolean;
62
- destroy(error?: Error | undefined): this;
63
- /**
64
- * Establish this Socket connection as-is and pipe
65
- * its data/events through this Socket.
66
- */
67
- passthrough(): void;
68
- /**
69
- * Convert the given Fetch API `Response` instance to an
70
- * HTTP message and push it to the socket.
71
- */
72
- respondWith(response: Response): Promise<void>;
73
- /**
74
- * Close this socket connection with the given error.
75
- */
76
- errorWith(error?: Error): void;
77
- private mockConnect;
78
- private flushWriteBuffer;
79
- /**
80
- * This callback might be called when the request is "slow":
81
- * - Request headers were fragmented across multiple TCP packages;
82
- * - Request headers were too large to be processed in a single run
83
- * (e.g. more than 30 request headers).
84
- * @note This is called before request start.
85
- */
86
- private onRequestHeaders;
87
- private onRequestStart;
88
- private onRequestBody;
89
- private onRequestEnd;
90
- /**
91
- * This callback might be called when the response is "slow":
92
- * - Response headers were fragmented across multiple TCP packages;
93
- * - Response headers were too large to be processed in a single run
94
- * (e.g. more than 30 response headers).
95
- * @note This is called before response start.
96
- */
97
- private onResponseHeaders;
98
- private onResponseStart;
99
- private onResponseBody;
100
- private onResponseEnd;
101
- }
102
- //#endregion
103
- //#region src/interceptors/ClientRequest/index.d.ts
104
- declare class ClientRequestInterceptor extends Interceptor<HttpRequestEventMap> {
105
- static symbol: symbol;
106
- constructor();
107
- protected setup(): void;
108
- private onRequest;
109
- onResponse: MockHttpSocketResponseCallback;
110
- }
111
- //#endregion
112
- export { ClientRequestInterceptor as t };
113
- //# sourceMappingURL=index-BJ5E5aW-.d.cts.map
@@ -1,113 +0,0 @@
1
- import { l as HttpRequestEventMap, r as Interceptor } from "./Interceptor-soD-WpQO.mjs";
2
- import net from "node:net";
3
-
4
- //#region src/interceptors/Socket/utils/normalizeSocketWriteArgs.d.ts
5
- type WriteCallback = (error?: Error | null) => void;
6
- //#endregion
7
- //#region src/interceptors/Socket/MockSocket.d.ts
8
- interface MockSocketOptions {
9
- write: (chunk: Buffer | string, encoding: BufferEncoding | undefined, callback?: WriteCallback) => void;
10
- read: (chunk: Buffer, encoding: BufferEncoding | undefined) => void;
11
- }
12
- declare class MockSocket extends net.Socket {
13
- protected readonly options: MockSocketOptions;
14
- connecting: boolean;
15
- constructor(options: MockSocketOptions);
16
- connect(): this;
17
- write(...args: Array<unknown>): boolean;
18
- end(...args: Array<unknown>): this;
19
- push(chunk: any, encoding?: BufferEncoding): boolean;
20
- }
21
- //#endregion
22
- //#region src/interceptors/ClientRequest/MockHttpSocket.d.ts
23
- type HttpConnectionOptions = any;
24
- type MockHttpSocketRequestCallback = (args: {
25
- requestId: string;
26
- request: Request;
27
- socket: MockHttpSocket;
28
- }) => void;
29
- type MockHttpSocketResponseCallback = (args: {
30
- requestId: string;
31
- request: Request;
32
- response: Response;
33
- isMockedResponse: boolean;
34
- socket: MockHttpSocket;
35
- }) => Promise<void>;
36
- interface MockHttpSocketOptions {
37
- connectionOptions: HttpConnectionOptions;
38
- createConnection: () => net.Socket;
39
- onRequest: MockHttpSocketRequestCallback;
40
- onResponse: MockHttpSocketResponseCallback;
41
- }
42
- declare class MockHttpSocket extends MockSocket {
43
- private connectionOptions;
44
- private createConnection;
45
- private baseUrl;
46
- private onRequest;
47
- private onResponse;
48
- private responseListenersPromise?;
49
- private requestRawHeadersBuffer;
50
- private responseRawHeadersBuffer;
51
- private writeBuffer;
52
- private request?;
53
- private requestParser;
54
- private requestStream?;
55
- private shouldKeepAlive?;
56
- private socketState;
57
- private responseParser;
58
- private responseStream?;
59
- private originalSocket?;
60
- constructor(options: MockHttpSocketOptions);
61
- emit(event: string | symbol, ...args: any[]): boolean;
62
- destroy(error?: Error | undefined): this;
63
- /**
64
- * Establish this Socket connection as-is and pipe
65
- * its data/events through this Socket.
66
- */
67
- passthrough(): void;
68
- /**
69
- * Convert the given Fetch API `Response` instance to an
70
- * HTTP message and push it to the socket.
71
- */
72
- respondWith(response: Response): Promise<void>;
73
- /**
74
- * Close this socket connection with the given error.
75
- */
76
- errorWith(error?: Error): void;
77
- private mockConnect;
78
- private flushWriteBuffer;
79
- /**
80
- * This callback might be called when the request is "slow":
81
- * - Request headers were fragmented across multiple TCP packages;
82
- * - Request headers were too large to be processed in a single run
83
- * (e.g. more than 30 request headers).
84
- * @note This is called before request start.
85
- */
86
- private onRequestHeaders;
87
- private onRequestStart;
88
- private onRequestBody;
89
- private onRequestEnd;
90
- /**
91
- * This callback might be called when the response is "slow":
92
- * - Response headers were fragmented across multiple TCP packages;
93
- * - Response headers were too large to be processed in a single run
94
- * (e.g. more than 30 response headers).
95
- * @note This is called before response start.
96
- */
97
- private onResponseHeaders;
98
- private onResponseStart;
99
- private onResponseBody;
100
- private onResponseEnd;
101
- }
102
- //#endregion
103
- //#region src/interceptors/ClientRequest/index.d.ts
104
- declare class ClientRequestInterceptor extends Interceptor<HttpRequestEventMap> {
105
- static symbol: symbol;
106
- constructor();
107
- protected setup(): void;
108
- private onRequest;
109
- onResponse: MockHttpSocketResponseCallback;
110
- }
111
- //#endregion
112
- export { ClientRequestInterceptor as t };
113
- //# sourceMappingURL=index-DfoF45ih.d.mts.map
@@ -1,53 +0,0 @@
1
- const require_fetchUtils = require('./fetchUtils-umV5xXBy.cjs');
2
- const require_BatchInterceptor = require('./BatchInterceptor-BGhH8z1z.cjs');
3
- const require_bufferUtils = require('./bufferUtils-S5_-2eN4.cjs');
4
- const require_getRawRequest = require('./getRawRequest-B6znU6il.cjs');
5
-
6
- //#region src/utils/getCleanUrl.ts
7
- /**
8
- * Removes query parameters and hashes from a given URL.
9
- */
10
- function getCleanUrl(url, isAbsolute = true) {
11
- return [isAbsolute && url.origin, url.pathname].filter(Boolean).join("");
12
- }
13
-
14
- //#endregion
15
- //#region src/utils/resolveWebSocketUrl.ts
16
- /**
17
- * Resolve potentially relative WebSocket URLs the same way
18
- * the browser does (replace the protocol, use the origin, etc).
19
- *
20
- * @see https://websockets.spec.whatwg.org//#dom-websocket-websocket
21
- */
22
- function resolveWebSocketUrl(url) {
23
- if (typeof url === "string") return resolveWebSocketUrl(new URL(url, typeof location !== "undefined" ? location.href : void 0));
24
- if (url.protocol === "http:") url.protocol = "ws:";
25
- else if (url.protocol === "https:") url.protocol = "wss:";
26
- if (url.protocol !== "ws:" && url.protocol !== "wss:")
27
- /**
28
- * @note These errors are modeled after the browser errors.
29
- * The exact error messages aren't provided in the specification.
30
- * Node.js uses more obscure error messages that I don't wish to replicate.
31
- */
32
- throw new SyntaxError(`Failed to construct 'WebSocket': The URL's scheme must be either 'http', 'https', 'ws', or 'wss'. '${url.protocol}' is not allowed.`);
33
- if (url.hash !== "") throw new SyntaxError(`Failed to construct 'WebSocket': The URL contains a fragment identifier ('${url.hash}'). Fragment identifiers are not allowed in WebSocket URLs.`);
34
- return url.href;
35
- }
36
-
37
- //#endregion
38
- exports.BatchInterceptor = require_BatchInterceptor.BatchInterceptor;
39
- exports.FetchRequest = require_fetchUtils.FetchRequest;
40
- exports.FetchResponse = require_fetchUtils.FetchResponse;
41
- exports.INTERNAL_REQUEST_ID_HEADER_NAME = require_fetchUtils.INTERNAL_REQUEST_ID_HEADER_NAME;
42
- exports.Interceptor = require_fetchUtils.Interceptor;
43
- exports.InterceptorReadyState = require_fetchUtils.InterceptorReadyState;
44
- exports.RequestController = require_fetchUtils.RequestController;
45
- exports.createRequestId = require_fetchUtils.createRequestId;
46
- exports.decodeBuffer = require_bufferUtils.decodeBuffer;
47
- exports.deleteGlobalSymbol = require_fetchUtils.deleteGlobalSymbol;
48
- exports.encodeBuffer = require_bufferUtils.encodeBuffer;
49
- exports.getCleanUrl = getCleanUrl;
50
- exports.getGlobalSymbol = require_fetchUtils.getGlobalSymbol;
51
- exports.getRawRequest = require_getRawRequest.getRawRequest;
52
- exports.resolveWebSocketUrl = resolveWebSocketUrl;
53
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../src/utils/getCleanUrl.ts","../../src/utils/resolveWebSocketUrl.ts"],"sourcesContent":["/**\n * Removes query parameters and hashes from a given URL.\n */\nexport function getCleanUrl(url: URL, isAbsolute: boolean = true): string {\n return [isAbsolute && url.origin, url.pathname].filter(Boolean).join('')\n}\n","/**\n * Resolve potentially relative WebSocket URLs the same way\n * the browser does (replace the protocol, use the origin, etc).\n *\n * @see https://websockets.spec.whatwg.org//#dom-websocket-websocket\n */\nexport function resolveWebSocketUrl(url: string | URL): string {\n if (typeof url === 'string') {\n /**\n * @note Cast the string to a URL first so the parsing errors\n * are thrown as a part of the WebSocket constructor, not consumers.\n */\n const urlRecord = new URL(\n url,\n typeof location !== 'undefined' ? location.href : undefined\n )\n\n return resolveWebSocketUrl(urlRecord)\n }\n\n if (url.protocol === 'http:') {\n url.protocol = 'ws:'\n } else if (url.protocol === 'https:') {\n url.protocol = 'wss:'\n }\n\n if (url.protocol !== 'ws:' && url.protocol !== 'wss:') {\n /**\n * @note These errors are modeled after the browser errors.\n * The exact error messages aren't provided in the specification.\n * Node.js uses more obscure error messages that I don't wish to replicate.\n */\n throw new SyntaxError(\n `Failed to construct 'WebSocket': The URL's scheme must be either 'http', 'https', 'ws', or 'wss'. '${url.protocol}' is not allowed.`\n )\n }\n\n if (url.hash !== '') {\n throw new SyntaxError(\n `Failed to construct 'WebSocket': The URL contains a fragment identifier ('${url.hash}'). Fragment identifiers are not allowed in WebSocket URLs.`\n )\n }\n\n return url.href\n}\n"],"mappings":";;;;;;;;;AAGA,SAAgB,YAAY,KAAU,aAAsB,MAAc;AACxE,QAAO,CAAC,cAAc,IAAI,QAAQ,IAAI,SAAS,CAAC,OAAO,QAAQ,CAAC,KAAK,GAAG;;;;;;;;;;;ACE1E,SAAgB,oBAAoB,KAA2B;AAC7D,KAAI,OAAO,QAAQ,SAUjB,QAAO,oBALW,IAAI,IACpB,KACA,OAAO,aAAa,cAAc,SAAS,OAAO,OACnD,CAEoC;AAGvC,KAAI,IAAI,aAAa,QACnB,KAAI,WAAW;UACN,IAAI,aAAa,SAC1B,KAAI,WAAW;AAGjB,KAAI,IAAI,aAAa,SAAS,IAAI,aAAa;;;;;;AAM7C,OAAM,IAAI,YACR,sGAAsG,IAAI,SAAS,mBACpH;AAGH,KAAI,IAAI,SAAS,GACf,OAAM,IAAI,YACR,6EAA6E,IAAI,KAAK,6DACvF;AAGH,QAAO,IAAI"}
@@ -1,104 +0,0 @@
1
- import { a as InterceptorReadyState, c as getGlobalSymbol, d as RequestController, f as RequestControllerSource, i as InterceptorEventMap, l as HttpRequestEventMap, n as INTERNAL_REQUEST_ID_HEADER_NAME, o as InterceptorSubscription, r as Interceptor, s as deleteGlobalSymbol, t as ExtractEventNames, u as RequestCredentials } from "./Interceptor-BsZ21ue0.cjs";
2
- import { n as BatchInterceptorOptions, r as ExtractEventMapType, t as BatchInterceptor } from "./BatchInterceptor-KKF8Q47I.cjs";
3
-
4
- //#region src/createRequestId.d.ts
5
-
6
- /**
7
- * Generate a random ID string to represent a request.
8
- * @example
9
- * createRequestId()
10
- * // "f774b6c9c600f"
11
- */
12
- declare function createRequestId(): string;
13
- //#endregion
14
- //#region src/utils/getCleanUrl.d.ts
15
- /**
16
- * Removes query parameters and hashes from a given URL.
17
- */
18
- declare function getCleanUrl(url: URL, isAbsolute?: boolean): string;
19
- //#endregion
20
- //#region src/utils/bufferUtils.d.ts
21
- declare function encodeBuffer(text: string): Uint8Array;
22
- declare function decodeBuffer(buffer: ArrayBuffer, encoding?: string): string;
23
- //#endregion
24
- //#region src/utils/fetchUtils.d.ts
25
- interface FetchRequestInit extends Omit<RequestInit, 'mode'> {
26
- mode?: RequestMode | 'websocket' | 'webtransport';
27
- duplex?: 'half' | 'full';
28
- }
29
- declare class FetchRequest extends Request {
30
- #private;
31
- /**
32
- * Check if the given request method is configurable.
33
- * @see https://fetch.spec.whatwg.org/#methods
34
- */
35
- static isConfigurableMethod(method: string): boolean;
36
- static isMethodWithBody(method: string): boolean;
37
- /**
38
- * Check if the given request `mode` is configurable.
39
- * @see https://fetch.spec.whatwg.org/#concept-request-mode
40
- */
41
- static isConfigurableMode(mode: string): boolean;
42
- constructor(input: URL | RequestInfo, init?: FetchRequestInit);
43
- }
44
- interface FetchResponseInit extends ResponseInit {
45
- url?: string;
46
- }
47
- declare class FetchResponse extends Response {
48
- /**
49
- * Response status codes for responses that cannot have body.
50
- * @see https://fetch.spec.whatwg.org/#statuses
51
- */
52
- static readonly STATUS_CODES_WITHOUT_BODY: number[];
53
- static readonly STATUS_CODES_WITH_REDIRECT: number[];
54
- static isConfigurableStatusCode(status: number): boolean;
55
- static isRedirectResponse(status: number): boolean;
56
- /**
57
- * Returns a boolean indicating whether the given response status
58
- * code represents a response that can have a body.
59
- */
60
- static isResponseWithBody(status: number): boolean;
61
- static setStatus(status: number, response: Response): void;
62
- static setUrl(url: string | undefined, response: Response): void;
63
- /**
64
- * Parses the given raw HTTP headers into a Fetch API `Headers` instance.
65
- */
66
- static parseRawHeaders(rawHeaders: Array<string>): Headers;
67
- /**
68
- * Safely clones the given `Response`.
69
- * Coerces response clone exceptions into 500 mocked responses.
70
- * Handy in the environments that introduce arbitrary response
71
- * cloning restrictions, like "101 Switching Protocols" cloning
72
- * in "miniflare".
73
- */
74
- static clone(response: Response): Response;
75
- constructor(body?: BodyInit | null, init?: FetchResponseInit);
76
- clone(): Response;
77
- }
78
- //#endregion
79
- //#region src/getRawRequest.d.ts
80
- /**
81
- * Returns a raw request instance associated with this request.
82
- *
83
- * @example
84
- * interceptor.on('request', ({ request }) => {
85
- * const rawRequest = getRawRequest(request)
86
- *
87
- * if (rawRequest instanceof http.ClientRequest) {
88
- * console.log(rawRequest.rawHeaders)
89
- * }
90
- * })
91
- */
92
- declare function getRawRequest(request: Request): unknown | undefined;
93
- //#endregion
94
- //#region src/utils/resolveWebSocketUrl.d.ts
95
- /**
96
- * Resolve potentially relative WebSocket URLs the same way
97
- * the browser does (replace the protocol, use the origin, etc).
98
- *
99
- * @see https://websockets.spec.whatwg.org//#dom-websocket-websocket
100
- */
101
- declare function resolveWebSocketUrl(url: string | URL): string;
102
- //#endregion
103
- export { BatchInterceptor, BatchInterceptorOptions, ExtractEventMapType, ExtractEventNames, FetchRequest, FetchResponse, HttpRequestEventMap, INTERNAL_REQUEST_ID_HEADER_NAME, Interceptor, InterceptorEventMap, InterceptorReadyState, InterceptorSubscription, RequestController, type RequestControllerSource, RequestCredentials, createRequestId, decodeBuffer, deleteGlobalSymbol, encodeBuffer, getCleanUrl, getGlobalSymbol, getRawRequest, resolveWebSocketUrl };
104
- //# sourceMappingURL=index.d.cts.map
@@ -1,104 +0,0 @@
1
- import { a as InterceptorReadyState, c as getGlobalSymbol, d as RequestController, f as RequestControllerSource, i as InterceptorEventMap, l as HttpRequestEventMap, n as INTERNAL_REQUEST_ID_HEADER_NAME, o as InterceptorSubscription, r as Interceptor, s as deleteGlobalSymbol, t as ExtractEventNames, u as RequestCredentials } from "./Interceptor-soD-WpQO.mjs";
2
- import { n as BatchInterceptorOptions, r as ExtractEventMapType, t as BatchInterceptor } from "./BatchInterceptor-rSr-NH_H.mjs";
3
-
4
- //#region src/createRequestId.d.ts
5
-
6
- /**
7
- * Generate a random ID string to represent a request.
8
- * @example
9
- * createRequestId()
10
- * // "f774b6c9c600f"
11
- */
12
- declare function createRequestId(): string;
13
- //#endregion
14
- //#region src/utils/getCleanUrl.d.ts
15
- /**
16
- * Removes query parameters and hashes from a given URL.
17
- */
18
- declare function getCleanUrl(url: URL, isAbsolute?: boolean): string;
19
- //#endregion
20
- //#region src/utils/bufferUtils.d.ts
21
- declare function encodeBuffer(text: string): Uint8Array;
22
- declare function decodeBuffer(buffer: ArrayBuffer, encoding?: string): string;
23
- //#endregion
24
- //#region src/utils/fetchUtils.d.ts
25
- interface FetchRequestInit extends Omit<RequestInit, 'mode'> {
26
- mode?: RequestMode | 'websocket' | 'webtransport';
27
- duplex?: 'half' | 'full';
28
- }
29
- declare class FetchRequest extends Request {
30
- #private;
31
- /**
32
- * Check if the given request method is configurable.
33
- * @see https://fetch.spec.whatwg.org/#methods
34
- */
35
- static isConfigurableMethod(method: string): boolean;
36
- static isMethodWithBody(method: string): boolean;
37
- /**
38
- * Check if the given request `mode` is configurable.
39
- * @see https://fetch.spec.whatwg.org/#concept-request-mode
40
- */
41
- static isConfigurableMode(mode: string): boolean;
42
- constructor(input: URL | RequestInfo, init?: FetchRequestInit);
43
- }
44
- interface FetchResponseInit extends ResponseInit {
45
- url?: string;
46
- }
47
- declare class FetchResponse extends Response {
48
- /**
49
- * Response status codes for responses that cannot have body.
50
- * @see https://fetch.spec.whatwg.org/#statuses
51
- */
52
- static readonly STATUS_CODES_WITHOUT_BODY: number[];
53
- static readonly STATUS_CODES_WITH_REDIRECT: number[];
54
- static isConfigurableStatusCode(status: number): boolean;
55
- static isRedirectResponse(status: number): boolean;
56
- /**
57
- * Returns a boolean indicating whether the given response status
58
- * code represents a response that can have a body.
59
- */
60
- static isResponseWithBody(status: number): boolean;
61
- static setStatus(status: number, response: Response): void;
62
- static setUrl(url: string | undefined, response: Response): void;
63
- /**
64
- * Parses the given raw HTTP headers into a Fetch API `Headers` instance.
65
- */
66
- static parseRawHeaders(rawHeaders: Array<string>): Headers;
67
- /**
68
- * Safely clones the given `Response`.
69
- * Coerces response clone exceptions into 500 mocked responses.
70
- * Handy in the environments that introduce arbitrary response
71
- * cloning restrictions, like "101 Switching Protocols" cloning
72
- * in "miniflare".
73
- */
74
- static clone(response: Response): Response;
75
- constructor(body?: BodyInit | null, init?: FetchResponseInit);
76
- clone(): Response;
77
- }
78
- //#endregion
79
- //#region src/getRawRequest.d.ts
80
- /**
81
- * Returns a raw request instance associated with this request.
82
- *
83
- * @example
84
- * interceptor.on('request', ({ request }) => {
85
- * const rawRequest = getRawRequest(request)
86
- *
87
- * if (rawRequest instanceof http.ClientRequest) {
88
- * console.log(rawRequest.rawHeaders)
89
- * }
90
- * })
91
- */
92
- declare function getRawRequest(request: Request): unknown | undefined;
93
- //#endregion
94
- //#region src/utils/resolveWebSocketUrl.d.ts
95
- /**
96
- * Resolve potentially relative WebSocket URLs the same way
97
- * the browser does (replace the protocol, use the origin, etc).
98
- *
99
- * @see https://websockets.spec.whatwg.org//#dom-websocket-websocket
100
- */
101
- declare function resolveWebSocketUrl(url: string | URL): string;
102
- //#endregion
103
- export { BatchInterceptor, BatchInterceptorOptions, ExtractEventMapType, ExtractEventNames, FetchRequest, FetchResponse, HttpRequestEventMap, INTERNAL_REQUEST_ID_HEADER_NAME, Interceptor, InterceptorEventMap, InterceptorReadyState, InterceptorSubscription, RequestController, type RequestControllerSource, RequestCredentials, createRequestId, decodeBuffer, deleteGlobalSymbol, encodeBuffer, getCleanUrl, getGlobalSymbol, getRawRequest, resolveWebSocketUrl };
104
- //# sourceMappingURL=index.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../src/utils/getCleanUrl.ts","../../src/utils/resolveWebSocketUrl.ts"],"sourcesContent":["/**\n * Removes query parameters and hashes from a given URL.\n */\nexport function getCleanUrl(url: URL, isAbsolute: boolean = true): string {\n return [isAbsolute && url.origin, url.pathname].filter(Boolean).join('')\n}\n","/**\n * Resolve potentially relative WebSocket URLs the same way\n * the browser does (replace the protocol, use the origin, etc).\n *\n * @see https://websockets.spec.whatwg.org//#dom-websocket-websocket\n */\nexport function resolveWebSocketUrl(url: string | URL): string {\n if (typeof url === 'string') {\n /**\n * @note Cast the string to a URL first so the parsing errors\n * are thrown as a part of the WebSocket constructor, not consumers.\n */\n const urlRecord = new URL(\n url,\n typeof location !== 'undefined' ? location.href : undefined\n )\n\n return resolveWebSocketUrl(urlRecord)\n }\n\n if (url.protocol === 'http:') {\n url.protocol = 'ws:'\n } else if (url.protocol === 'https:') {\n url.protocol = 'wss:'\n }\n\n if (url.protocol !== 'ws:' && url.protocol !== 'wss:') {\n /**\n * @note These errors are modeled after the browser errors.\n * The exact error messages aren't provided in the specification.\n * Node.js uses more obscure error messages that I don't wish to replicate.\n */\n throw new SyntaxError(\n `Failed to construct 'WebSocket': The URL's scheme must be either 'http', 'https', 'ws', or 'wss'. '${url.protocol}' is not allowed.`\n )\n }\n\n if (url.hash !== '') {\n throw new SyntaxError(\n `Failed to construct 'WebSocket': The URL contains a fragment identifier ('${url.hash}'). Fragment identifiers are not allowed in WebSocket URLs.`\n )\n }\n\n return url.href\n}\n"],"mappings":";;;;;;;;;AAGA,SAAgB,YAAY,KAAU,aAAsB,MAAc;AACxE,QAAO,CAAC,cAAc,IAAI,QAAQ,IAAI,SAAS,CAAC,OAAO,QAAQ,CAAC,KAAK,GAAG;;;;;;;;;;;ACE1E,SAAgB,oBAAoB,KAA2B;AAC7D,KAAI,OAAO,QAAQ,SAUjB,QAAO,oBALW,IAAI,IACpB,KACA,OAAO,aAAa,cAAc,SAAS,OAAO,OACnD,CAEoC;AAGvC,KAAI,IAAI,aAAa,QACnB,KAAI,WAAW;UACN,IAAI,aAAa,SAC1B,KAAI,WAAW;AAGjB,KAAI,IAAI,aAAa,SAAS,IAAI,aAAa;;;;;;AAM7C,OAAM,IAAI,YACR,sGAAsG,IAAI,SAAS,mBACpH;AAGH,KAAI,IAAI,SAAS,GACf,OAAM,IAAI,YACR,6EAA6E,IAAI,KAAK,6DACvF;AAGH,QAAO,IAAI"}
@@ -1,6 +0,0 @@
1
- require('../../fetchUtils-umV5xXBy.cjs');
2
- const require_ClientRequest = require('../../ClientRequest-2loAH7xM.cjs');
3
- require('../../handleRequest-C-cKYjIh.cjs');
4
- require('../../node-DIKcnzhK.cjs');
5
-
6
- exports.ClientRequestInterceptor = require_ClientRequest.ClientRequestInterceptor;
@@ -1,2 +0,0 @@
1
- import { t as ClientRequestInterceptor } from "../../index-BJ5E5aW-.cjs";
2
- export { ClientRequestInterceptor };
@@ -1,3 +0,0 @@
1
- import "../../Interceptor-soD-WpQO.mjs";
2
- import { t as ClientRequestInterceptor } from "../../index-DfoF45ih.mjs";
3
- export { ClientRequestInterceptor };
@@ -1,6 +0,0 @@
1
- import "../../fetchUtils-BKJ1XmiO.mjs";
2
- import { t as ClientRequestInterceptor } from "../../ClientRequest-DGhBX21V.mjs";
3
- import "../../handleRequest-FIQv5pwH.mjs";
4
- import "../../node-lsdNwZEW.mjs";
5
-
6
- export { ClientRequestInterceptor };
@@ -1,7 +0,0 @@
1
- require('../../fetchUtils-umV5xXBy.cjs');
2
- require('../../bufferUtils-S5_-2eN4.cjs');
3
- require('../../handleRequest-C-cKYjIh.cjs');
4
- const require_XMLHttpRequest = require('../../XMLHttpRequest-BtDNZipW.cjs');
5
- require('../../hasConfigurableGlobal-MjY06_Ok.cjs');
6
-
7
- exports.XMLHttpRequestInterceptor = require_XMLHttpRequest.XMLHttpRequestInterceptor;
@@ -1,14 +0,0 @@
1
- import { l as HttpRequestEventMap, r as Interceptor } from "../../Interceptor-BsZ21ue0.cjs";
2
- import { Emitter } from "strict-event-emitter";
3
-
4
- //#region src/interceptors/XMLHttpRequest/index.d.ts
5
- type XMLHttpRequestEmitter = Emitter<HttpRequestEventMap>;
6
- declare class XMLHttpRequestInterceptor extends Interceptor<HttpRequestEventMap> {
7
- static symbol: symbol;
8
- constructor();
9
- protected checkEnvironment(): boolean;
10
- protected setup(): void;
11
- }
12
- //#endregion
13
- export { XMLHttpRequestEmitter, XMLHttpRequestInterceptor };
14
- //# sourceMappingURL=index.d.cts.map
@@ -1,14 +0,0 @@
1
- import { l as HttpRequestEventMap, r as Interceptor } from "../../Interceptor-soD-WpQO.mjs";
2
- import { Emitter } from "strict-event-emitter";
3
-
4
- //#region src/interceptors/XMLHttpRequest/index.d.ts
5
- type XMLHttpRequestEmitter = Emitter<HttpRequestEventMap>;
6
- declare class XMLHttpRequestInterceptor extends Interceptor<HttpRequestEventMap> {
7
- static symbol: symbol;
8
- constructor();
9
- protected checkEnvironment(): boolean;
10
- protected setup(): void;
11
- }
12
- //#endregion
13
- export { XMLHttpRequestEmitter, XMLHttpRequestInterceptor };
14
- //# sourceMappingURL=index.d.mts.map
@@ -1,7 +0,0 @@
1
- import "../../fetchUtils-BKJ1XmiO.mjs";
2
- import "../../bufferUtils-DxPxwff_.mjs";
3
- import "../../handleRequest-FIQv5pwH.mjs";
4
- import { t as XMLHttpRequestInterceptor } from "../../XMLHttpRequest-Dw6Wm-UU.mjs";
5
- import "../../hasConfigurableGlobal-BiTmog1u.mjs";
6
-
7
- export { XMLHttpRequestInterceptor };
@@ -1,6 +0,0 @@
1
- require('../../fetchUtils-umV5xXBy.cjs');
2
- require('../../handleRequest-C-cKYjIh.cjs');
3
- require('../../hasConfigurableGlobal-MjY06_Ok.cjs');
4
- const require_fetch = require('../../fetch-D2ClLNN-.cjs');
5
-
6
- exports.FetchInterceptor = require_fetch.FetchInterceptor;
@@ -1,12 +0,0 @@
1
- import { l as HttpRequestEventMap, r as Interceptor } from "../../Interceptor-BsZ21ue0.cjs";
2
-
3
- //#region src/interceptors/fetch/index.d.ts
4
- declare class FetchInterceptor extends Interceptor<HttpRequestEventMap> {
5
- static symbol: symbol;
6
- constructor();
7
- protected checkEnvironment(): boolean;
8
- protected setup(): Promise<void>;
9
- }
10
- //#endregion
11
- export { FetchInterceptor };
12
- //# sourceMappingURL=index.d.cts.map
@@ -1,12 +0,0 @@
1
- import { l as HttpRequestEventMap, r as Interceptor } from "../../Interceptor-soD-WpQO.mjs";
2
-
3
- //#region src/interceptors/fetch/index.d.ts
4
- declare class FetchInterceptor extends Interceptor<HttpRequestEventMap> {
5
- static symbol: symbol;
6
- constructor();
7
- protected checkEnvironment(): boolean;
8
- protected setup(): Promise<void>;
9
- }
10
- //#endregion
11
- export { FetchInterceptor };
12
- //# sourceMappingURL=index.d.mts.map
@@ -1,6 +0,0 @@
1
- import "../../fetchUtils-BKJ1XmiO.mjs";
2
- import "../../handleRequest-FIQv5pwH.mjs";
3
- import "../../hasConfigurableGlobal-BiTmog1u.mjs";
4
- import { t as FetchInterceptor } from "../../fetch-CaC3rGEu.mjs";
5
-
6
- export { FetchInterceptor };
@@ -1,39 +0,0 @@
1
- const require_chunk = require('./chunk-CbDLau6x.cjs');
2
- const require_getRawRequest = require('./getRawRequest-B6znU6il.cjs');
3
- let outvariant = require("outvariant");
4
- let node_http = require("node:http");
5
- let node_stream = require("node:stream");
6
-
7
- //#region src/utils/node/index.ts
8
- const kRawRequestBodyStream = Symbol("kRawRequestBodyStream");
9
- /**
10
- * Returns the request body stream of the given request.
11
- * @note This is only relevant in the context of `http.ClientRequest`.
12
- * This function will throw if the given `request` wasn't created based on
13
- * the `http.ClientRequest` instance.
14
- * You must rely on the web stream consumers for other request clients.
15
- */
16
- function getClientRequestBodyStream(request) {
17
- (0, outvariant.invariant)(require_getRawRequest.getRawRequest(request) instanceof node_http.ClientRequest, `Failed to retrieve raw request body stream: request is not an instance of "http.ClientRequest". Note that you can only use the "getClientRequestBodyStream" function with the requests issued by "http.clientRequest".`);
18
- const requestBodyStream = Reflect.get(request, kRawRequestBodyStream);
19
- (0, outvariant.invariant)(requestBodyStream instanceof node_stream.Readable, "Failed to retrieve raw request body stream: corrupted stream (%s)", typeof requestBodyStream);
20
- return requestBodyStream;
21
- }
22
- function setRawRequestBodyStream(request, stream) {
23
- Reflect.set(request, kRawRequestBodyStream, stream);
24
- }
25
-
26
- //#endregion
27
- Object.defineProperty(exports, 'getClientRequestBodyStream', {
28
- enumerable: true,
29
- get: function () {
30
- return getClientRequestBodyStream;
31
- }
32
- });
33
- Object.defineProperty(exports, 'setRawRequestBodyStream', {
34
- enumerable: true,
35
- get: function () {
36
- return setRawRequestBodyStream;
37
- }
38
- });
39
- //# sourceMappingURL=node-DIKcnzhK.cjs.map