@mswjs/interceptors 0.39.8 → 0.41.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 (282) hide show
  1. package/ClientRequest/package.json +7 -2
  2. package/RemoteHttpInterceptor/package.json +7 -2
  3. package/WebSocket/package.json +9 -2
  4. package/XMLHttpRequest/package.json +9 -3
  5. package/fetch/package.json +9 -3
  6. package/lib/browser/Interceptor-2mUoKZL1.d.mts +65 -0
  7. package/lib/browser/Interceptor-Deczogc8.d.cts +65 -0
  8. package/lib/browser/XMLHttpRequest-BUfglQD1.cjs +761 -0
  9. package/lib/browser/XMLHttpRequest-BUfglQD1.cjs.map +1 -0
  10. package/lib/browser/XMLHttpRequest-DS5fc8Qs.mjs +756 -0
  11. package/lib/browser/XMLHttpRequest-DS5fc8Qs.mjs.map +1 -0
  12. package/lib/browser/bufferUtils-BiiO6HZv.mjs +20 -0
  13. package/lib/browser/bufferUtils-BiiO6HZv.mjs.map +1 -0
  14. package/lib/browser/bufferUtils-Uc0eRItL.cjs +38 -0
  15. package/lib/browser/bufferUtils-Uc0eRItL.cjs.map +1 -0
  16. package/lib/browser/createRequestId-Cs4oXfa1.cjs +205 -0
  17. package/lib/browser/createRequestId-Cs4oXfa1.cjs.map +1 -0
  18. package/lib/browser/createRequestId-DQcIlohW.mjs +170 -0
  19. package/lib/browser/createRequestId-DQcIlohW.mjs.map +1 -0
  20. package/lib/browser/fetch-BHcqM3z7.cjs +253 -0
  21. package/lib/browser/fetch-BHcqM3z7.cjs.map +1 -0
  22. package/lib/browser/fetch-DSJoynSF.mjs +248 -0
  23. package/lib/browser/fetch-DSJoynSF.mjs.map +1 -0
  24. package/lib/browser/getRawRequest-BTaNLFr0.mjs +218 -0
  25. package/lib/browser/getRawRequest-BTaNLFr0.mjs.map +1 -0
  26. package/lib/browser/getRawRequest-zx8rUJL2.cjs +259 -0
  27. package/lib/browser/getRawRequest-zx8rUJL2.cjs.map +1 -0
  28. package/lib/browser/glossary-BdLS4k1H.d.cts +70 -0
  29. package/lib/browser/glossary-gEEJhK4S.d.mts +70 -0
  30. package/lib/browser/handleRequest-DI6a7Dty.cjs +189 -0
  31. package/lib/browser/handleRequest-DI6a7Dty.cjs.map +1 -0
  32. package/lib/browser/handleRequest-DxGbCTbb.mjs +178 -0
  33. package/lib/browser/handleRequest-DxGbCTbb.mjs.map +1 -0
  34. package/lib/browser/hasConfigurableGlobal-C8kXFDic.mjs +33 -0
  35. package/lib/browser/hasConfigurableGlobal-C8kXFDic.mjs.map +1 -0
  36. package/lib/browser/hasConfigurableGlobal-D7S3l5h6.cjs +45 -0
  37. package/lib/browser/hasConfigurableGlobal-D7S3l5h6.cjs.map +1 -0
  38. package/lib/browser/index.cjs +68 -0
  39. package/lib/browser/index.cjs.map +1 -0
  40. package/lib/browser/index.d.cts +87 -0
  41. package/lib/browser/index.d.mts +87 -0
  42. package/lib/browser/index.mjs +49 -75
  43. package/lib/browser/index.mjs.map +1 -1
  44. package/lib/browser/interceptors/WebSocket/index.cjs +621 -0
  45. package/lib/browser/interceptors/WebSocket/index.cjs.map +1 -0
  46. package/lib/browser/interceptors/WebSocket/index.d.cts +277 -0
  47. package/lib/browser/interceptors/WebSocket/index.d.mts +277 -0
  48. package/lib/browser/interceptors/WebSocket/index.mjs +587 -694
  49. package/lib/browser/interceptors/WebSocket/index.mjs.map +1 -1
  50. package/lib/browser/interceptors/XMLHttpRequest/index.cjs +7 -0
  51. package/lib/browser/interceptors/XMLHttpRequest/index.d.cts +15 -0
  52. package/lib/browser/interceptors/XMLHttpRequest/index.d.mts +15 -0
  53. package/lib/browser/interceptors/XMLHttpRequest/index.mjs +7 -12
  54. package/lib/browser/interceptors/fetch/index.cjs +6 -0
  55. package/lib/browser/interceptors/fetch/index.d.cts +13 -0
  56. package/lib/browser/interceptors/fetch/index.d.mts +13 -0
  57. package/lib/browser/interceptors/fetch/index.mjs +6 -11
  58. package/lib/browser/presets/browser.cjs +17 -0
  59. package/lib/browser/presets/browser.cjs.map +1 -0
  60. package/lib/browser/presets/browser.d.cts +12 -0
  61. package/lib/browser/presets/browser.d.mts +14 -0
  62. package/lib/browser/presets/browser.mjs +15 -19
  63. package/lib/browser/presets/browser.mjs.map +1 -1
  64. package/lib/node/BatchInterceptor-3LnAnLTx.cjs +49 -0
  65. package/lib/node/BatchInterceptor-3LnAnLTx.cjs.map +1 -0
  66. package/lib/node/BatchInterceptor-D7mXzHcQ.d.mts +26 -0
  67. package/lib/node/BatchInterceptor-DFaBPilf.mjs +44 -0
  68. package/lib/node/BatchInterceptor-DFaBPilf.mjs.map +1 -0
  69. package/lib/node/BatchInterceptor-D_YqR8qU.d.cts +26 -0
  70. package/lib/node/ClientRequest-2rDe54Ui.cjs +1043 -0
  71. package/lib/node/ClientRequest-2rDe54Ui.cjs.map +1 -0
  72. package/lib/node/ClientRequest-Ca8Qykuv.mjs +1034 -0
  73. package/lib/node/ClientRequest-Ca8Qykuv.mjs.map +1 -0
  74. package/lib/node/Interceptor-DEazpLJd.d.mts +133 -0
  75. package/lib/node/Interceptor-DJ2akVWI.d.cts +133 -0
  76. package/lib/node/RemoteHttpInterceptor.cjs +154 -0
  77. package/lib/node/RemoteHttpInterceptor.cjs.map +1 -0
  78. package/lib/node/RemoteHttpInterceptor.d.cts +39 -0
  79. package/lib/node/RemoteHttpInterceptor.d.mts +39 -0
  80. package/lib/node/RemoteHttpInterceptor.mjs +145 -186
  81. package/lib/node/RemoteHttpInterceptor.mjs.map +1 -1
  82. package/lib/node/XMLHttpRequest-B7kJdYYI.cjs +763 -0
  83. package/lib/node/XMLHttpRequest-B7kJdYYI.cjs.map +1 -0
  84. package/lib/node/XMLHttpRequest-C8dIZpds.mjs +757 -0
  85. package/lib/node/XMLHttpRequest-C8dIZpds.mjs.map +1 -0
  86. package/lib/node/bufferUtils-DiCTqG-7.cjs +38 -0
  87. package/lib/node/bufferUtils-DiCTqG-7.cjs.map +1 -0
  88. package/lib/node/bufferUtils-_8XfKIfX.mjs +20 -0
  89. package/lib/node/bufferUtils-_8XfKIfX.mjs.map +1 -0
  90. package/lib/node/chunk-CbDLau6x.cjs +34 -0
  91. package/lib/node/fetch-BmXpK10r.cjs +272 -0
  92. package/lib/node/fetch-BmXpK10r.cjs.map +1 -0
  93. package/lib/node/fetch-G1DVwDKG.mjs +265 -0
  94. package/lib/node/fetch-G1DVwDKG.mjs.map +1 -0
  95. package/lib/node/fetchUtils-BaY5iWXw.cjs +419 -0
  96. package/lib/node/fetchUtils-BaY5iWXw.cjs.map +1 -0
  97. package/lib/node/fetchUtils-CoU35g3M.mjs +359 -0
  98. package/lib/node/fetchUtils-CoU35g3M.mjs.map +1 -0
  99. package/lib/node/getRawRequest-BavnMWh_.cjs +36 -0
  100. package/lib/node/getRawRequest-BavnMWh_.cjs.map +1 -0
  101. package/lib/node/getRawRequest-DnwmXyOW.mjs +24 -0
  102. package/lib/node/getRawRequest-DnwmXyOW.mjs.map +1 -0
  103. package/lib/node/glossary-BLKRyLBd.cjs +12 -0
  104. package/lib/node/glossary-BLKRyLBd.cjs.map +1 -0
  105. package/lib/node/glossary-glQBRnVD.mjs +6 -0
  106. package/lib/node/glossary-glQBRnVD.mjs.map +1 -0
  107. package/lib/node/handleRequest-Bb7Y-XLw.cjs +220 -0
  108. package/lib/node/handleRequest-Bb7Y-XLw.cjs.map +1 -0
  109. package/lib/node/handleRequest-Y97UwBbF.mjs +190 -0
  110. package/lib/node/handleRequest-Y97UwBbF.mjs.map +1 -0
  111. package/lib/node/hasConfigurableGlobal-C97fWuaA.cjs +26 -0
  112. package/lib/node/hasConfigurableGlobal-C97fWuaA.cjs.map +1 -0
  113. package/lib/node/hasConfigurableGlobal-DBJA0vjm.mjs +20 -0
  114. package/lib/node/hasConfigurableGlobal-DBJA0vjm.mjs.map +1 -0
  115. package/lib/node/index-BMbJ8FXL.d.cts +113 -0
  116. package/lib/node/index-C0YAQ36w.d.mts +113 -0
  117. package/lib/node/index.cjs +30 -0
  118. package/lib/node/index.cjs.map +1 -0
  119. package/lib/node/index.d.cts +66 -0
  120. package/lib/node/index.d.mts +66 -0
  121. package/lib/node/index.mjs +13 -39
  122. package/lib/node/index.mjs.map +1 -1
  123. package/lib/node/interceptors/ClientRequest/index.cjs +6 -0
  124. package/lib/node/interceptors/ClientRequest/index.d.cts +2 -0
  125. package/lib/node/interceptors/ClientRequest/index.d.mts +3 -0
  126. package/lib/node/interceptors/ClientRequest/index.mjs +6 -11
  127. package/lib/node/interceptors/XMLHttpRequest/index.cjs +6 -0
  128. package/lib/node/interceptors/XMLHttpRequest/index.d.cts +14 -0
  129. package/lib/node/interceptors/XMLHttpRequest/index.d.mts +14 -0
  130. package/lib/node/interceptors/XMLHttpRequest/index.mjs +6 -13
  131. package/lib/node/interceptors/fetch/index.cjs +5 -0
  132. package/lib/node/interceptors/fetch/index.d.cts +12 -0
  133. package/lib/node/interceptors/fetch/index.d.mts +12 -0
  134. package/lib/node/interceptors/fetch/index.mjs +5 -12
  135. package/lib/node/node-DwCc6iuP.mjs +27 -0
  136. package/lib/node/node-DwCc6iuP.mjs.map +1 -0
  137. package/lib/node/node-dKdAf3tC.cjs +39 -0
  138. package/lib/node/node-dKdAf3tC.cjs.map +1 -0
  139. package/lib/node/presets/node.cjs +22 -0
  140. package/lib/node/presets/node.cjs.map +1 -0
  141. package/lib/node/presets/node.d.cts +13 -0
  142. package/lib/node/presets/node.d.mts +15 -0
  143. package/lib/node/presets/node.mjs +18 -23
  144. package/lib/node/presets/node.mjs.map +1 -1
  145. package/lib/node/utils/node/index.cjs +4 -0
  146. package/lib/node/utils/node/{index.d.ts → index.d.cts} +5 -2
  147. package/lib/node/utils/node/index.d.mts +16 -0
  148. package/lib/node/utils/node/index.mjs +3 -10
  149. package/package.json +34 -59
  150. package/presets/browser/package.json +2 -3
  151. package/presets/node/package.json +7 -2
  152. package/src/RemoteHttpInterceptor.ts +18 -13
  153. package/src/RequestController.test.ts +78 -31
  154. package/src/RequestController.ts +63 -39
  155. package/src/index.ts +4 -0
  156. package/src/interceptors/ClientRequest/MockHttpSocket.ts +43 -9
  157. package/src/interceptors/ClientRequest/index.ts +14 -18
  158. package/src/interceptors/ClientRequest/utils/parserUtils.ts +48 -0
  159. package/src/interceptors/WebSocket/index.ts +4 -1
  160. package/src/interceptors/XMLHttpRequest/XMLHttpRequestController.ts +45 -35
  161. package/src/interceptors/XMLHttpRequest/XMLHttpRequestProxy.ts +24 -21
  162. package/src/interceptors/XMLHttpRequest/utils/getBodyByteLength.test.ts +2 -2
  163. package/src/interceptors/fetch/index.ts +61 -50
  164. package/src/utils/handleRequest.ts +65 -95
  165. package/lib/browser/Interceptor-af98b768.d.ts +0 -63
  166. package/lib/browser/chunk-2HUMWGRD.js +0 -37
  167. package/lib/browser/chunk-2HUMWGRD.js.map +0 -1
  168. package/lib/browser/chunk-2QICSCCS.js +0 -238
  169. package/lib/browser/chunk-2QICSCCS.js.map +0 -1
  170. package/lib/browser/chunk-3RXCRGL2.mjs +0 -117
  171. package/lib/browser/chunk-3RXCRGL2.mjs.map +0 -1
  172. package/lib/browser/chunk-6HYIRFX2.mjs +0 -22
  173. package/lib/browser/chunk-6HYIRFX2.mjs.map +0 -1
  174. package/lib/browser/chunk-E3CCOBRX.js +0 -846
  175. package/lib/browser/chunk-E3CCOBRX.js.map +0 -1
  176. package/lib/browser/chunk-E7UVBHVO.mjs +0 -846
  177. package/lib/browser/chunk-E7UVBHVO.mjs.map +0 -1
  178. package/lib/browser/chunk-H74PGQ4Y.js +0 -296
  179. package/lib/browser/chunk-H74PGQ4Y.js.map +0 -1
  180. package/lib/browser/chunk-LK6DILFK.js +0 -22
  181. package/lib/browser/chunk-LK6DILFK.js.map +0 -1
  182. package/lib/browser/chunk-PTTUYYVR.mjs +0 -238
  183. package/lib/browser/chunk-PTTUYYVR.mjs.map +0 -1
  184. package/lib/browser/chunk-Q7K2XAEP.mjs +0 -296
  185. package/lib/browser/chunk-Q7K2XAEP.mjs.map +0 -1
  186. package/lib/browser/chunk-QED3Q6Z2.mjs +0 -169
  187. package/lib/browser/chunk-QED3Q6Z2.mjs.map +0 -1
  188. package/lib/browser/chunk-T7TBRNJZ.js +0 -117
  189. package/lib/browser/chunk-T7TBRNJZ.js.map +0 -1
  190. package/lib/browser/chunk-TIPR373R.js +0 -169
  191. package/lib/browser/chunk-TIPR373R.js.map +0 -1
  192. package/lib/browser/chunk-VYSDLBSS.mjs +0 -37
  193. package/lib/browser/chunk-VYSDLBSS.mjs.map +0 -1
  194. package/lib/browser/glossary-7152281e.d.ts +0 -69
  195. package/lib/browser/index.d.ts +0 -83
  196. package/lib/browser/index.js +0 -81
  197. package/lib/browser/index.js.map +0 -1
  198. package/lib/browser/interceptors/WebSocket/index.d.ts +0 -271
  199. package/lib/browser/interceptors/WebSocket/index.js +0 -721
  200. package/lib/browser/interceptors/WebSocket/index.js.map +0 -1
  201. package/lib/browser/interceptors/XMLHttpRequest/index.d.ts +0 -15
  202. package/lib/browser/interceptors/XMLHttpRequest/index.js +0 -12
  203. package/lib/browser/interceptors/XMLHttpRequest/index.js.map +0 -1
  204. package/lib/browser/interceptors/XMLHttpRequest/index.mjs.map +0 -1
  205. package/lib/browser/interceptors/fetch/index.d.ts +0 -14
  206. package/lib/browser/interceptors/fetch/index.js +0 -11
  207. package/lib/browser/interceptors/fetch/index.js.map +0 -1
  208. package/lib/browser/interceptors/fetch/index.mjs.map +0 -1
  209. package/lib/browser/presets/browser.d.ts +0 -15
  210. package/lib/browser/presets/browser.js +0 -21
  211. package/lib/browser/presets/browser.js.map +0 -1
  212. package/lib/node/BatchInterceptor-5b72232f.d.ts +0 -24
  213. package/lib/node/Interceptor-bc5a9d8e.d.ts +0 -130
  214. package/lib/node/RemoteHttpInterceptor.d.ts +0 -45
  215. package/lib/node/RemoteHttpInterceptor.js +0 -193
  216. package/lib/node/RemoteHttpInterceptor.js.map +0 -1
  217. package/lib/node/chunk-3CNGDJFB.mjs +0 -313
  218. package/lib/node/chunk-3CNGDJFB.mjs.map +0 -1
  219. package/lib/node/chunk-3GJB4JDF.mjs +0 -14
  220. package/lib/node/chunk-3GJB4JDF.mjs.map +0 -1
  221. package/lib/node/chunk-4NEYTVWD.mjs +0 -848
  222. package/lib/node/chunk-4NEYTVWD.mjs.map +0 -1
  223. package/lib/node/chunk-4YBV77DG.js +0 -32
  224. package/lib/node/chunk-4YBV77DG.js.map +0 -1
  225. package/lib/node/chunk-6HYIRFX2.mjs +0 -22
  226. package/lib/node/chunk-6HYIRFX2.mjs.map +0 -1
  227. package/lib/node/chunk-6YM4PLBI.mjs +0 -7
  228. package/lib/node/chunk-6YM4PLBI.mjs.map +0 -1
  229. package/lib/node/chunk-72ZIHMEB.js +0 -249
  230. package/lib/node/chunk-72ZIHMEB.js.map +0 -1
  231. package/lib/node/chunk-73NOP3T5.js +0 -7
  232. package/lib/node/chunk-73NOP3T5.js.map +0 -1
  233. package/lib/node/chunk-A7Q4RTDJ.mjs +0 -249
  234. package/lib/node/chunk-A7Q4RTDJ.mjs.map +0 -1
  235. package/lib/node/chunk-A7U44ARP.js +0 -268
  236. package/lib/node/chunk-A7U44ARP.js.map +0 -1
  237. package/lib/node/chunk-EKNRB5ZS.mjs +0 -1115
  238. package/lib/node/chunk-EKNRB5ZS.mjs.map +0 -1
  239. package/lib/node/chunk-IHJSPMYM.mjs +0 -268
  240. package/lib/node/chunk-IHJSPMYM.mjs.map +0 -1
  241. package/lib/node/chunk-LK6DILFK.js +0 -22
  242. package/lib/node/chunk-LK6DILFK.js.map +0 -1
  243. package/lib/node/chunk-N4ZZFE24.js +0 -1115
  244. package/lib/node/chunk-N4ZZFE24.js.map +0 -1
  245. package/lib/node/chunk-PFGO5BSM.js +0 -25
  246. package/lib/node/chunk-PFGO5BSM.js.map +0 -1
  247. package/lib/node/chunk-R6JVCM7X.js +0 -51
  248. package/lib/node/chunk-R6JVCM7X.js.map +0 -1
  249. package/lib/node/chunk-RC2XPCC4.mjs +0 -51
  250. package/lib/node/chunk-RC2XPCC4.mjs.map +0 -1
  251. package/lib/node/chunk-SMXZPJEA.js +0 -14
  252. package/lib/node/chunk-SMXZPJEA.js.map +0 -1
  253. package/lib/node/chunk-TJDMZZXE.mjs +0 -32
  254. package/lib/node/chunk-TJDMZZXE.mjs.map +0 -1
  255. package/lib/node/chunk-TX5GBTFY.mjs +0 -25
  256. package/lib/node/chunk-TX5GBTFY.mjs.map +0 -1
  257. package/lib/node/chunk-VV2LUF5K.js +0 -848
  258. package/lib/node/chunk-VV2LUF5K.js.map +0 -1
  259. package/lib/node/chunk-Z5LWCBZS.js +0 -313
  260. package/lib/node/chunk-Z5LWCBZS.js.map +0 -1
  261. package/lib/node/index.d.ts +0 -62
  262. package/lib/node/index.js +0 -43
  263. package/lib/node/index.js.map +0 -1
  264. package/lib/node/interceptors/ClientRequest/index.d.ts +0 -111
  265. package/lib/node/interceptors/ClientRequest/index.js +0 -11
  266. package/lib/node/interceptors/ClientRequest/index.js.map +0 -1
  267. package/lib/node/interceptors/ClientRequest/index.mjs.map +0 -1
  268. package/lib/node/interceptors/XMLHttpRequest/index.d.ts +0 -14
  269. package/lib/node/interceptors/XMLHttpRequest/index.js +0 -13
  270. package/lib/node/interceptors/XMLHttpRequest/index.js.map +0 -1
  271. package/lib/node/interceptors/XMLHttpRequest/index.mjs.map +0 -1
  272. package/lib/node/interceptors/fetch/index.d.ts +0 -13
  273. package/lib/node/interceptors/fetch/index.js +0 -12
  274. package/lib/node/interceptors/fetch/index.js.map +0 -1
  275. package/lib/node/interceptors/fetch/index.mjs.map +0 -1
  276. package/lib/node/presets/node.d.ts +0 -16
  277. package/lib/node/presets/node.js +0 -27
  278. package/lib/node/presets/node.js.map +0 -1
  279. package/lib/node/utils/node/index.js +0 -10
  280. package/lib/node/utils/node/index.js.map +0 -1
  281. package/lib/node/utils/node/index.mjs.map +0 -1
  282. package/src/utils/RequestController.ts +0 -21
@@ -1,27 +1,22 @@
1
- import {
2
- ClientRequestInterceptor
3
- } from "../chunk-EKNRB5ZS.mjs";
4
- import "../chunk-TJDMZZXE.mjs";
5
- import {
6
- XMLHttpRequestInterceptor
7
- } from "../chunk-4NEYTVWD.mjs";
8
- import "../chunk-6HYIRFX2.mjs";
9
- import {
10
- FetchInterceptor
11
- } from "../chunk-3CNGDJFB.mjs";
12
- import "../chunk-TX5GBTFY.mjs";
13
- import "../chunk-6YM4PLBI.mjs";
14
- import "../chunk-A7Q4RTDJ.mjs";
15
- import "../chunk-IHJSPMYM.mjs";
16
- import "../chunk-3GJB4JDF.mjs";
1
+ import "../fetchUtils-CoU35g3M.mjs";
2
+ import "../bufferUtils-_8XfKIfX.mjs";
3
+ import { t as ClientRequestInterceptor } from "../ClientRequest-Ca8Qykuv.mjs";
4
+ import "../handleRequest-Y97UwBbF.mjs";
5
+ import "../node-DwCc6iuP.mjs";
6
+ import { t as XMLHttpRequestInterceptor } from "../XMLHttpRequest-C8dIZpds.mjs";
7
+ import { t as FetchInterceptor } from "../fetch-G1DVwDKG.mjs";
17
8
 
18
- // src/presets/node.ts
9
+ //#region src/presets/node.ts
10
+ /**
11
+ * The default preset provisions the interception of requests
12
+ * regardless of their type (http/https/XMLHttpRequest).
13
+ */
19
14
  var node_default = [
20
- new ClientRequestInterceptor(),
21
- new XMLHttpRequestInterceptor(),
22
- new FetchInterceptor()
15
+ new ClientRequestInterceptor(),
16
+ new XMLHttpRequestInterceptor(),
17
+ new FetchInterceptor()
23
18
  ];
24
- export {
25
- node_default as default
26
- };
19
+
20
+ //#endregion
21
+ export { node_default as default };
27
22
  //# sourceMappingURL=node.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/presets/node.ts"],"sourcesContent":["import { ClientRequestInterceptor } from '../interceptors/ClientRequest'\nimport { XMLHttpRequestInterceptor } from '../interceptors/XMLHttpRequest'\nimport { FetchInterceptor } from '../interceptors/fetch'\n\n/**\n * The default preset provisions the interception of requests\n * regardless of their type (http/https/XMLHttpRequest).\n */\nexport default [\n new ClientRequestInterceptor(),\n new XMLHttpRequestInterceptor(),\n new FetchInterceptor(),\n] as const\n"],"mappings":";;;;;;;;;;;;;;;;;;AAQA,IAAO,eAAQ;AAAA,EACb,IAAI,yBAAyB;AAAA,EAC7B,IAAI,0BAA0B;AAAA,EAC9B,IAAI,iBAAiB;AACvB;","names":[]}
1
+ {"version":3,"file":"node.mjs","names":[],"sources":["../../../src/presets/node.ts"],"sourcesContent":["import { ClientRequestInterceptor } from '../interceptors/ClientRequest'\nimport { XMLHttpRequestInterceptor } from '../interceptors/XMLHttpRequest'\nimport { FetchInterceptor } from '../interceptors/fetch'\n\n/**\n * The default preset provisions the interception of requests\n * regardless of their type (http/https/XMLHttpRequest).\n */\nexport default [\n new ClientRequestInterceptor(),\n new XMLHttpRequestInterceptor(),\n new FetchInterceptor(),\n] as const\n"],"mappings":";;;;;;;;;;;;;AAQA,mBAAe;CACb,IAAI,0BAA0B;CAC9B,IAAI,2BAA2B;CAC/B,IAAI,kBAAkB;CACvB"}
@@ -0,0 +1,4 @@
1
+ const require_node = require('../../node-dKdAf3tC.cjs');
2
+
3
+ exports.getClientRequestBodyStream = require_node.getClientRequestBodyStream;
4
+ exports.setRawRequestBodyStream = require_node.setRawRequestBodyStream;
@@ -1,4 +1,6 @@
1
- import { Readable } from 'node:stream';
1
+ import { Readable } from "node:stream";
2
+
3
+ //#region src/utils/node/index.d.ts
2
4
 
3
5
  /**
4
6
  * Returns the request body stream of the given request.
@@ -9,5 +11,6 @@ import { Readable } from 'node:stream';
9
11
  */
10
12
  declare function getClientRequestBodyStream(request: Request): Readable;
11
13
  declare function setRawRequestBodyStream(request: Request, stream: Readable): void;
12
-
14
+ //#endregion
13
15
  export { getClientRequestBodyStream, setRawRequestBodyStream };
16
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1,16 @@
1
+ import { Readable } from "node:stream";
2
+
3
+ //#region src/utils/node/index.d.ts
4
+
5
+ /**
6
+ * Returns the request body stream of the given request.
7
+ * @note This is only relevant in the context of `http.ClientRequest`.
8
+ * This function will throw if the given `request` wasn't created based on
9
+ * the `http.ClientRequest` instance.
10
+ * You must rely on the web stream consumers for other request clients.
11
+ */
12
+ declare function getClientRequestBodyStream(request: Request): Readable;
13
+ declare function setRawRequestBodyStream(request: Request, stream: Readable): void;
14
+ //#endregion
15
+ export { getClientRequestBodyStream, setRawRequestBodyStream };
16
+ //# sourceMappingURL=index.d.mts.map
@@ -1,10 +1,3 @@
1
- import {
2
- getClientRequestBodyStream,
3
- setRawRequestBodyStream
4
- } from "../../chunk-TJDMZZXE.mjs";
5
- import "../../chunk-3GJB4JDF.mjs";
6
- export {
7
- getClientRequestBodyStream,
8
- setRawRequestBodyStream
9
- };
10
- //# sourceMappingURL=index.mjs.map
1
+ import { n as setRawRequestBodyStream, t as getClientRequestBodyStream } from "../../node-DwCc6iuP.mjs";
2
+
3
+ export { getClientRequestBodyStream, setRawRequestBodyStream };
package/package.json CHANGED
@@ -1,104 +1,80 @@
1
1
  {
2
+ "type": "commonjs",
2
3
  "name": "@mswjs/interceptors",
3
4
  "description": "Low-level HTTP/HTTPS/XHR/fetch request interception library.",
4
- "version": "0.39.8",
5
- "main": "./lib/node/index.js",
5
+ "version": "0.41.0",
6
+ "main": "./lib/node/index.cjs",
6
7
  "module": "./lib/node/index.mjs",
7
- "types": "./lib/node/index.d.ts",
8
+ "types": "./lib/node/index.d.cts",
8
9
  "exports": {
9
10
  ".": {
10
- "types": "./lib/node/index.d.ts",
11
11
  "browser": {
12
- "types": "./lib/browser/index.d.ts",
13
- "require": "./lib/browser/index.js",
14
12
  "import": "./lib/browser/index.mjs",
15
- "default": "./lib/browser/index.js"
13
+ "default": "./lib/browser/index.cjs"
16
14
  },
17
- "require": "./lib/node/index.js",
18
15
  "import": "./lib/node/index.mjs",
19
- "default": "./lib/node/index.js"
16
+ "default": "./lib/node/index.cjs"
20
17
  },
21
18
  "./ClientRequest": {
22
- "types": "./lib/node/interceptors/ClientRequest/index.d.ts",
23
19
  "node": {
24
- "require": "./lib/node/interceptors/ClientRequest/index.js",
20
+ "require": "./lib/node/interceptors/ClientRequest/index.cjs",
25
21
  "import": "./lib/node/interceptors/ClientRequest/index.mjs"
26
22
  },
27
23
  "browser": null,
28
- "require": "./lib/node/interceptors/ClientRequest/index.js",
24
+ "require": "./lib/node/interceptors/ClientRequest/index.cjs",
29
25
  "import": "./lib/node/interceptors/ClientRequest/index.mjs",
30
- "default": "./lib/node/interceptors/ClientRequest/index.js"
26
+ "default": "./lib/node/interceptors/ClientRequest/index.cjs"
31
27
  },
32
28
  "./XMLHttpRequest": {
33
- "browser": {
34
- "types": "./lib/browser/interceptors/XMLHttpRequest/index.d.ts",
35
- "require": "./lib/browser/interceptors/XMLHttpRequest/index.js",
36
- "import": "./lib/browser/interceptors/XMLHttpRequest/index.mjs",
37
- "default": "./lib/browser/interceptors/XMLHttpRequest/index.js"
38
- },
39
- "types": "./lib/node/interceptors/XMLHttpRequest/index.d.ts",
40
- "require": "./lib/node/interceptors/XMLHttpRequest/index.js",
29
+ "browser": "./lib/browser/interceptors/XMLHttpRequest/index.mjs",
30
+ "require": "./lib/node/interceptors/XMLHttpRequest/index.cjs",
41
31
  "import": "./lib/node/interceptors/XMLHttpRequest/index.mjs",
42
- "default": "./lib/node/interceptors/XMLHttpRequest/index.js"
32
+ "default": "./lib/node/interceptors/XMLHttpRequest/index.cjs"
43
33
  },
44
34
  "./fetch": {
45
- "browser": {
46
- "types": "./lib/browser/interceptors/fetch/index.d.ts",
47
- "require": "./lib/browser/interceptors/fetch/index.js",
48
- "import": "./lib/browser/interceptors/fetch/index.mjs",
49
- "default": "./lib/browser/interceptors/fetch/index.js"
50
- },
51
- "types": "./lib/node/interceptors/fetch/index.d.ts",
52
- "require": "./lib/node/interceptors/fetch/index.js",
35
+ "browser": "./lib/browser/interceptors/fetch/index.mjs",
36
+ "require": "./lib/node/interceptors/fetch/index.cjs",
53
37
  "import": "./lib/node/interceptors/fetch/index.mjs",
54
- "default": "./lib/node/interceptors/fetch/index.js"
38
+ "default": "./lib/node/interceptors/fetch/index.cjs"
55
39
  },
56
40
  "./WebSocket": {
57
- "types": "./lib/browser/interceptors/WebSocket/index.d.ts",
58
- "require": "./lib/browser/interceptors/WebSocket/index.js",
41
+ "require": "./lib/browser/interceptors/WebSocket/index.cjs",
59
42
  "import": "./lib/browser/interceptors/WebSocket/index.mjs",
60
- "default": "./lib/browser/interceptors/WebSocket/index.js"
43
+ "default": "./lib/browser/interceptors/WebSocket/index.cjs"
61
44
  },
62
45
  "./RemoteHttpInterceptor": {
63
- "types": "./lib/node/RemoteHttpInterceptor.d.ts",
64
46
  "node": {
65
- "require": "./lib/node/RemoteHttpInterceptor.js",
47
+ "require": "./lib/node/RemoteHttpInterceptor.cjs",
66
48
  "import": "./lib/node/RemoteHttpInterceptor.mjs"
67
49
  },
68
50
  "browser": null,
69
- "require": "./lib/node/RemoteHttpInterceptor.js",
51
+ "require": "./lib/node/RemoteHttpInterceptor.cjs",
70
52
  "import": "./lib/node/RemoteHttpInterceptor.mjs",
71
- "default": "./lib/node/RemoteHttpInterceptor.js"
53
+ "default": "./lib/node/RemoteHttpInterceptor.cjs"
72
54
  },
73
55
  "./presets/node": {
74
- "types": "./lib/node/presets/node.d.ts",
75
56
  "node": {
76
- "require": "./lib/node/presets/node.js",
57
+ "require": "./lib/node/presets/node.cjs",
77
58
  "import": "./lib/node/presets/node.mjs"
78
59
  },
79
60
  "browser": null,
80
- "require": "./lib/node/presets/node.js",
61
+ "require": "./lib/node/presets/node.cjs",
81
62
  "import": "./lib/node/presets/node.mjs",
82
- "default": "./lib/node/presets/node.js"
63
+ "default": "./lib/node/presets/node.cjs"
83
64
  },
84
65
  "./presets/browser": {
85
- "browser": {
86
- "types": "./lib/browser/presets/browser.d.ts",
87
- "require": "./lib/browser/presets/browser.js",
88
- "import": "./lib/browser/presets/browser.mjs",
89
- "default": "./lib/browser/presets/browser.js"
90
- }
66
+ "browser": "./lib/browser/presets/browser.mjs",
67
+ "node": null
91
68
  },
92
69
  "./utils/node": {
93
- "types": "./lib/node/utils/node/index.d.ts",
94
70
  "node": {
95
- "require": "./lib/node/utils/node/index.js",
71
+ "require": "./lib/node/utils/node/index.cjs",
96
72
  "import": "./lib/node/utils/node/index.mjs"
97
73
  },
98
74
  "browser": null,
99
- "require": "./lib/node/utils/node/index.js",
75
+ "require": "./lib/node/utils/node/index.cjs",
100
76
  "import": "./lib/node/utils/node/index.mjs",
101
- "default": "./lib/node/utils/node/index.js"
77
+ "default": "./lib/node/utils/node/index.cjs"
102
78
  }
103
79
  },
104
80
  "author": "Artem Zakharchenko",
@@ -118,14 +94,13 @@
118
94
  "presets"
119
95
  ],
120
96
  "repository": {
121
- "type": "git",
122
97
  "url": "https://github.com/mswjs/interceptors"
123
98
  },
124
99
  "devDependencies": {
125
100
  "@commitlint/cli": "^19.7.1",
126
101
  "@commitlint/config-conventional": "^19.7.1",
127
102
  "@open-draft/test-server": "^0.5.1",
128
- "@ossjs/release": "^0.8.1",
103
+ "@ossjs/release": "^0.10.1",
129
104
  "@playwright/test": "^1.51.0",
130
105
  "@types/cors": "^2.8.12",
131
106
  "@types/express": "^5.0.0",
@@ -151,20 +126,20 @@
151
126
  "happy-dom": "^17.3.0",
152
127
  "jsdom": "^26.1.0",
153
128
  "node-fetch": "3.3.2",
154
- "rimraf": "^6.0.1",
155
129
  "simple-git-hooks": "^2.7.0",
156
130
  "socket.io": "^4.7.4",
157
131
  "socket.io-client": "^4.7.4",
158
132
  "socket.io-parser": "^4.2.4",
159
133
  "superagent": "^10.1.1",
160
134
  "supertest": "^7.0.0",
161
- "tsup": "^6.5.0",
135
+ "tsdown": "^0.18.1",
162
136
  "typescript": "^5.8.2",
163
137
  "undici": "^7.4.0",
164
138
  "vitest": "^3.0.8",
165
139
  "vitest-environment-miniflare": "^2.14.1",
166
140
  "wait-for-expect": "^3.0.2",
167
141
  "web-encoding": "^1.1.5",
142
+ "webpack": "^5.105.0",
168
143
  "webpack-http-server": "^0.5.0",
169
144
  "ws": "^8.18.1"
170
145
  },
@@ -198,14 +173,14 @@
198
173
  }
199
174
  },
200
175
  "scripts": {
201
- "start": "tsc --build -w",
176
+ "start": "tsdown --watch",
202
177
  "test": "pnpm test:unit && pnpm test:integration",
203
178
  "test:unit": "vitest",
204
179
  "test:integration": "pnpm test:node && pnpm test:browser",
205
180
  "test:node": "vitest -c test/vitest.config.js",
206
181
  "test:browser": "pnpm playwright test -c test/playwright.config.ts",
207
- "clean": "rimraf lib",
208
- "build": "pnpm clean && cross-env NODE_ENV=production tsup --splitting",
182
+ "test:nock": "./test/third-party/nock.sh",
183
+ "build": "tsdown",
209
184
  "release": "release publish"
210
185
  }
211
186
  }
@@ -1,6 +1,5 @@
1
1
  {
2
- "main": "../../lib/browser/presets/browser.js",
2
+ "main": "../../lib/browser/presets/browser.mjs",
3
3
  "module": "../../lib/browser/presets/browser.mjs",
4
- "browser": "../../lib/browser/presets/browser.js",
5
- "types": "../../lib/browser/presets/browser.d.ts"
4
+ "browser": "../../lib/browser/presets/browser.mjs"
6
5
  }
@@ -1,6 +1,11 @@
1
1
  {
2
- "main": "../../lib/node/presets/node.js",
2
+ "main": "../../lib/node/presets/node.cjs",
3
3
  "module": "../../lib/node/presets/node.mjs",
4
4
  "browser": null,
5
- "types": "../../lib/node/presets/node.d.ts"
5
+ "exports": {
6
+ ".": {
7
+ "import": "./../lib/node/presets/node.mjs",
8
+ "default": "./../lib/node/presets/node.cjs"
9
+ }
10
+ }
6
11
  }
@@ -8,6 +8,7 @@ import { FetchInterceptor } from './interceptors/fetch'
8
8
  import { handleRequest } from './utils/handleRequest'
9
9
  import { RequestController } from './RequestController'
10
10
  import { FetchResponse } from './utils/fetchUtils'
11
+ import { isResponseError } from './utils/responseUtils'
11
12
 
12
13
  export interface SerializedRequest {
13
14
  id: string
@@ -178,13 +179,14 @@ export class RemoteHttpResolver extends Interceptor<HttpRequestEventMap> {
178
179
  body: requestJson.body,
179
180
  })
180
181
 
181
- const controller = new RequestController(request)
182
- await handleRequest({
183
- request,
184
- requestId: requestJson.id,
185
- controller,
186
- emitter: this.emitter,
187
- onResponse: async (response) => {
182
+ const controller = new RequestController(request, {
183
+ passthrough: () => {},
184
+ respondWith: async (response) => {
185
+ if (isResponseError(response)) {
186
+ this.logger.info('received a network error!', { response })
187
+ throw new Error('Not implemented')
188
+ }
189
+
188
190
  this.logger.info('received mocked response!', { response })
189
191
 
190
192
  const responseClone = response.clone()
@@ -221,15 +223,18 @@ export class RemoteHttpResolver extends Interceptor<HttpRequestEventMap> {
221
223
  serializedResponse
222
224
  )
223
225
  },
224
- onRequestError: (response) => {
225
- this.logger.info('received a network error!', { response })
226
- throw new Error('Not implemented')
227
- },
228
- onError: (error) => {
229
- this.logger.info('request has errored!', { error })
226
+ errorWith: (reason) => {
227
+ this.logger.info('request has errored!', { error: reason })
230
228
  throw new Error('Not implemented')
231
229
  },
232
230
  })
231
+
232
+ await handleRequest({
233
+ request,
234
+ requestId: requestJson.id,
235
+ controller,
236
+ emitter: this.emitter,
237
+ })
233
238
  }
234
239
 
235
240
  this.subscriptions.push(() => {
@@ -1,57 +1,104 @@
1
- import { it, expect } from 'vitest'
2
- import { kResponsePromise, RequestController } from './RequestController'
1
+ import { vi, it, expect } from 'vitest'
2
+ import {
3
+ RequestController,
4
+ type RequestControllerSource,
5
+ } from './RequestController'
6
+ import { InterceptorError } from './InterceptorError'
3
7
 
4
- it('creates a pending response promise on construction', () => {
5
- const controller = new RequestController(new Request('http://localhost'))
6
- expect(controller[kResponsePromise]).toBeInstanceOf(Promise)
7
- expect(controller[kResponsePromise].state).toBe('pending')
8
+ const defaultSource = {
9
+ passthrough() {},
10
+ respondWith() {},
11
+ errorWith() {},
12
+ } satisfies RequestControllerSource
13
+
14
+ it('has a pending state upon construction', () => {
15
+ const controller = new RequestController(
16
+ new Request('http://localhost'),
17
+ defaultSource
18
+ )
19
+
20
+ expect(controller.handled).toBeInstanceOf(Promise)
21
+ expect(controller.readyState).toBe(RequestController.PENDING)
8
22
  })
9
23
 
10
- it('resolves the response promise with the response provided to "respondWith"', async () => {
11
- const controller = new RequestController(new Request('http://localhost'))
12
- controller.respondWith(new Response('hello world'))
24
+ it('handles a request when calling ".respondWith()" with a mocked response', async () => {
25
+ const respondWith = vi.fn<RequestControllerSource['respondWith']>()
26
+ const controller = new RequestController(new Request('http://localhost'), {
27
+ ...defaultSource,
28
+ respondWith,
29
+ })
30
+
31
+ await controller.respondWith(new Response('hello world'))
32
+
33
+ expect(controller.readyState).toBe(RequestController.RESPONSE)
34
+ await expect(controller.handled).resolves.toBeUndefined()
13
35
 
14
- const response = (await controller[kResponsePromise]) as Response
36
+ expect(respondWith).toHaveBeenCalledOnce()
37
+ const [response] = respondWith.mock.calls[0]
15
38
 
16
39
  expect(response).toBeInstanceOf(Response)
17
40
  expect(response.status).toBe(200)
18
- expect(await response.text()).toBe('hello world')
41
+ await expect(response.text()).resolves.toBe('hello world')
19
42
  })
20
43
 
21
- it('resolves the response promise with the error provided to "errorWith"', async () => {
22
- const controller = new RequestController(new Request('http://localhost'))
44
+ it('handles the request when calling ".errorWith()" with an error', async () => {
45
+ const errorWith = vi.fn<RequestControllerSource['errorWith']>()
46
+ const controller = new RequestController(new Request('http://localhost'), {
47
+ ...defaultSource,
48
+ errorWith,
49
+ })
50
+
23
51
  const error = new Error('Oops!')
24
- controller.errorWith(error)
52
+ await controller.errorWith(error)
53
+
54
+ expect(controller.readyState).toBe(RequestController.ERROR)
55
+ await expect(controller.handled).resolves.toBeUndefined()
25
56
 
26
- await expect(controller[kResponsePromise]).resolves.toEqual(error)
57
+ expect(errorWith).toHaveBeenCalledOnce()
58
+ expect(errorWith).toHaveBeenCalledWith(error)
27
59
  })
28
60
 
29
- it('resolves the response promise with an arbitrary object provided to "errorWith"', async () => {
30
- const controller = new RequestController(new Request('http://localhost'))
61
+ it('handles the request when calling ".errorWith()" with an arbitrary object', async () => {
62
+ const errorWith = vi.fn<RequestControllerSource['errorWith']>()
63
+ const controller = new RequestController(new Request('http://localhost'), {
64
+ ...defaultSource,
65
+ errorWith,
66
+ })
67
+
31
68
  const error = { message: 'Oops!' }
32
- controller.errorWith(error)
69
+ await controller.errorWith(error)
33
70
 
34
- await expect(controller[kResponsePromise]).resolves.toEqual(error)
71
+ expect(controller.readyState).toBe(RequestController.ERROR)
72
+ await expect(controller.handled).resolves.toBeUndefined()
73
+
74
+ expect(errorWith).toHaveBeenCalledOnce()
75
+ expect(errorWith).toHaveBeenCalledWith(error)
35
76
  })
36
77
 
37
- it('throws when calling "respondWith" multiple times', () => {
38
- const controller = new RequestController(new Request('http://localhost'))
78
+ it('throws when calling "respondWith" multiple times', async () => {
79
+ const controller = new RequestController(
80
+ new Request('http://localhost'),
81
+ defaultSource
82
+ )
39
83
  controller.respondWith(new Response('hello world'))
40
84
 
41
- expect(() => {
42
- controller.respondWith(new Response('second response'))
43
- }).toThrow(
44
- 'Failed to respond to the "GET http://localhost/" request: the "request" event has already been handled.'
85
+ expect(() => controller.respondWith(new Response('second response'))).toThrow(
86
+ new InterceptorError(
87
+ 'Failed to respond to the "GET http://localhost/" request with "200 OK": the request has already been handled (2)'
88
+ )
45
89
  )
46
90
  })
47
91
 
48
- it('throws when calling "errorWith" multiple times', () => {
49
- const controller = new RequestController(new Request('http://localhost'))
92
+ it('throws when calling "errorWith" multiple times', async () => {
93
+ const controller = new RequestController(
94
+ new Request('http://localhost'),
95
+ defaultSource
96
+ )
50
97
  controller.errorWith(new Error('Oops!'))
51
98
 
52
- expect(() => {
53
- controller.errorWith(new Error('second error'))
54
- }).toThrow(
55
- 'Failed to error the "GET http://localhost/" request: the "request" event has already been handled.'
99
+ expect(() => controller.errorWith(new Error('second error'))).toThrow(
100
+ new InterceptorError(
101
+ 'Failed to error the "GET http://localhost/" request with "Error: second error": the request has already been handled (3)'
102
+ )
56
103
  )
57
104
  })