@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,846 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
-
4
-
5
- var _chunkLK6DILFKjs = require('./chunk-LK6DILFK.js');
6
-
7
-
8
-
9
- var _chunk2QICSCCSjs = require('./chunk-2QICSCCS.js');
10
-
11
-
12
-
13
-
14
- var _chunkT7TBRNJZjs = require('./chunk-T7TBRNJZ.js');
15
-
16
-
17
- var _chunk2HUMWGRDjs = require('./chunk-2HUMWGRD.js');
18
-
19
-
20
-
21
-
22
- var _chunkTIPR373Rjs = require('./chunk-TIPR373R.js');
23
-
24
- // src/interceptors/XMLHttpRequest/index.ts
25
- var _outvariant = require('outvariant');
26
-
27
- // src/interceptors/XMLHttpRequest/XMLHttpRequestController.ts
28
-
29
- var _isnodeprocess = require('is-node-process');
30
-
31
- // src/interceptors/XMLHttpRequest/utils/concatArrayBuffer.ts
32
- function concatArrayBuffer(left, right) {
33
- const result = new Uint8Array(left.byteLength + right.byteLength);
34
- result.set(left, 0);
35
- result.set(right, left.byteLength);
36
- return result;
37
- }
38
-
39
- // src/interceptors/XMLHttpRequest/polyfills/EventPolyfill.ts
40
- var EventPolyfill = class {
41
- constructor(type, options) {
42
- this.NONE = 0;
43
- this.CAPTURING_PHASE = 1;
44
- this.AT_TARGET = 2;
45
- this.BUBBLING_PHASE = 3;
46
- this.type = "";
47
- this.srcElement = null;
48
- this.currentTarget = null;
49
- this.eventPhase = 0;
50
- this.isTrusted = true;
51
- this.composed = false;
52
- this.cancelable = true;
53
- this.defaultPrevented = false;
54
- this.bubbles = true;
55
- this.lengthComputable = true;
56
- this.loaded = 0;
57
- this.total = 0;
58
- this.cancelBubble = false;
59
- this.returnValue = true;
60
- this.type = type;
61
- this.target = (options == null ? void 0 : options.target) || null;
62
- this.currentTarget = (options == null ? void 0 : options.currentTarget) || null;
63
- this.timeStamp = Date.now();
64
- }
65
- composedPath() {
66
- return [];
67
- }
68
- initEvent(type, bubbles, cancelable) {
69
- this.type = type;
70
- this.bubbles = !!bubbles;
71
- this.cancelable = !!cancelable;
72
- }
73
- preventDefault() {
74
- this.defaultPrevented = true;
75
- }
76
- stopPropagation() {
77
- }
78
- stopImmediatePropagation() {
79
- }
80
- };
81
-
82
- // src/interceptors/XMLHttpRequest/polyfills/ProgressEventPolyfill.ts
83
- var ProgressEventPolyfill = class extends EventPolyfill {
84
- constructor(type, init) {
85
- super(type);
86
- this.lengthComputable = (init == null ? void 0 : init.lengthComputable) || false;
87
- this.composed = (init == null ? void 0 : init.composed) || false;
88
- this.loaded = (init == null ? void 0 : init.loaded) || 0;
89
- this.total = (init == null ? void 0 : init.total) || 0;
90
- }
91
- };
92
-
93
- // src/interceptors/XMLHttpRequest/utils/createEvent.ts
94
- var SUPPORTS_PROGRESS_EVENT = typeof ProgressEvent !== "undefined";
95
- function createEvent(target, type, init) {
96
- const progressEvents = [
97
- "error",
98
- "progress",
99
- "loadstart",
100
- "loadend",
101
- "load",
102
- "timeout",
103
- "abort"
104
- ];
105
- const ProgressEventClass = SUPPORTS_PROGRESS_EVENT ? ProgressEvent : ProgressEventPolyfill;
106
- const event = progressEvents.includes(type) ? new ProgressEventClass(type, {
107
- lengthComputable: true,
108
- loaded: (init == null ? void 0 : init.loaded) || 0,
109
- total: (init == null ? void 0 : init.total) || 0
110
- }) : new EventPolyfill(type, {
111
- target,
112
- currentTarget: target
113
- });
114
- return event;
115
- }
116
-
117
- // src/utils/findPropertySource.ts
118
- function findPropertySource(target, propertyName) {
119
- if (!(propertyName in target)) {
120
- return null;
121
- }
122
- const hasProperty = Object.prototype.hasOwnProperty.call(target, propertyName);
123
- if (hasProperty) {
124
- return target;
125
- }
126
- const prototype = Reflect.getPrototypeOf(target);
127
- return prototype ? findPropertySource(prototype, propertyName) : null;
128
- }
129
-
130
- // src/utils/createProxy.ts
131
- function createProxy(target, options) {
132
- const proxy = new Proxy(target, optionsToProxyHandler(options));
133
- return proxy;
134
- }
135
- function optionsToProxyHandler(options) {
136
- const { constructorCall, methodCall, getProperty, setProperty } = options;
137
- const handler = {};
138
- if (typeof constructorCall !== "undefined") {
139
- handler.construct = function(target, args, newTarget) {
140
- const next = Reflect.construct.bind(null, target, args, newTarget);
141
- return constructorCall.call(newTarget, args, next);
142
- };
143
- }
144
- handler.set = function(target, propertyName, nextValue) {
145
- const next = () => {
146
- const propertySource = findPropertySource(target, propertyName) || target;
147
- const ownDescriptors = Reflect.getOwnPropertyDescriptor(
148
- propertySource,
149
- propertyName
150
- );
151
- if (typeof (ownDescriptors == null ? void 0 : ownDescriptors.set) !== "undefined") {
152
- ownDescriptors.set.apply(target, [nextValue]);
153
- return true;
154
- }
155
- return Reflect.defineProperty(propertySource, propertyName, {
156
- writable: true,
157
- enumerable: true,
158
- configurable: true,
159
- value: nextValue
160
- });
161
- };
162
- if (typeof setProperty !== "undefined") {
163
- return setProperty.call(target, [propertyName, nextValue], next);
164
- }
165
- return next();
166
- };
167
- handler.get = function(target, propertyName, receiver) {
168
- const next = () => target[propertyName];
169
- const value = typeof getProperty !== "undefined" ? getProperty.call(target, [propertyName, receiver], next) : next();
170
- if (typeof value === "function") {
171
- return (...args) => {
172
- const next2 = value.bind(target, ...args);
173
- if (typeof methodCall !== "undefined") {
174
- return methodCall.call(target, [propertyName, args], next2);
175
- }
176
- return next2();
177
- };
178
- }
179
- return value;
180
- };
181
- return handler;
182
- }
183
-
184
- // src/interceptors/XMLHttpRequest/utils/isDomParserSupportedType.ts
185
- function isDomParserSupportedType(type) {
186
- const supportedTypes = [
187
- "application/xhtml+xml",
188
- "application/xml",
189
- "image/svg+xml",
190
- "text/html",
191
- "text/xml"
192
- ];
193
- return supportedTypes.some((supportedType) => {
194
- return type.startsWith(supportedType);
195
- });
196
- }
197
-
198
- // src/utils/parseJson.ts
199
- function parseJson(data) {
200
- try {
201
- const json = JSON.parse(data);
202
- return json;
203
- } catch (_) {
204
- return null;
205
- }
206
- }
207
-
208
- // src/interceptors/XMLHttpRequest/utils/createResponse.ts
209
- function createResponse(request, body) {
210
- const responseBodyOrNull = _chunkT7TBRNJZjs.FetchResponse.isResponseWithBody(request.status) ? body : null;
211
- return new (0, _chunkT7TBRNJZjs.FetchResponse)(responseBodyOrNull, {
212
- url: request.responseURL,
213
- status: request.status,
214
- statusText: request.statusText,
215
- headers: createHeadersFromXMLHttpRequestHeaders(
216
- request.getAllResponseHeaders()
217
- )
218
- });
219
- }
220
- function createHeadersFromXMLHttpRequestHeaders(headersString) {
221
- const headers = new Headers();
222
- const lines = headersString.split(/[\r\n]+/);
223
- for (const line of lines) {
224
- if (line.trim() === "") {
225
- continue;
226
- }
227
- const [name, ...parts] = line.split(": ");
228
- const value = parts.join(": ");
229
- headers.append(name, value);
230
- }
231
- return headers;
232
- }
233
-
234
- // src/interceptors/XMLHttpRequest/utils/getBodyByteLength.ts
235
- async function getBodyByteLength(input) {
236
- const explicitContentLength = input.headers.get("content-length");
237
- if (explicitContentLength != null && explicitContentLength !== "") {
238
- return Number(explicitContentLength);
239
- }
240
- const buffer = await input.arrayBuffer();
241
- return buffer.byteLength;
242
- }
243
-
244
- // src/interceptors/XMLHttpRequest/XMLHttpRequestController.ts
245
- var kIsRequestHandled = Symbol("kIsRequestHandled");
246
- var IS_NODE = _isnodeprocess.isNodeProcess.call(void 0, );
247
- var kFetchRequest = Symbol("kFetchRequest");
248
- var XMLHttpRequestController = class {
249
- constructor(initialRequest, logger) {
250
- this.initialRequest = initialRequest;
251
- this.logger = logger;
252
- this.method = "GET";
253
- this.url = null;
254
- this[kIsRequestHandled] = false;
255
- this.events = /* @__PURE__ */ new Map();
256
- this.uploadEvents = /* @__PURE__ */ new Map();
257
- this.requestId = _chunkTIPR373Rjs.createRequestId.call(void 0, );
258
- this.requestHeaders = new Headers();
259
- this.responseBuffer = new Uint8Array();
260
- this.request = createProxy(initialRequest, {
261
- setProperty: ([propertyName, nextValue], invoke) => {
262
- switch (propertyName) {
263
- case "ontimeout": {
264
- const eventName = propertyName.slice(
265
- 2
266
- );
267
- this.request.addEventListener(eventName, nextValue);
268
- return invoke();
269
- }
270
- default: {
271
- return invoke();
272
- }
273
- }
274
- },
275
- methodCall: ([methodName, args], invoke) => {
276
- var _a;
277
- switch (methodName) {
278
- case "open": {
279
- const [method, url] = args;
280
- if (typeof url === "undefined") {
281
- this.method = "GET";
282
- this.url = toAbsoluteUrl(method);
283
- } else {
284
- this.method = method;
285
- this.url = toAbsoluteUrl(url);
286
- }
287
- this.logger = this.logger.extend(`${this.method} ${this.url.href}`);
288
- this.logger.info("open", this.method, this.url.href);
289
- return invoke();
290
- }
291
- case "addEventListener": {
292
- const [eventName, listener] = args;
293
- this.registerEvent(eventName, listener);
294
- this.logger.info("addEventListener", eventName, listener);
295
- return invoke();
296
- }
297
- case "setRequestHeader": {
298
- const [name, value] = args;
299
- this.requestHeaders.set(name, value);
300
- this.logger.info("setRequestHeader", name, value);
301
- return invoke();
302
- }
303
- case "send": {
304
- const [body] = args;
305
- this.request.addEventListener("load", () => {
306
- if (typeof this.onResponse !== "undefined") {
307
- const fetchResponse = createResponse(
308
- this.request,
309
- /**
310
- * The `response` property is the right way to read
311
- * the ambiguous response body, as the request's "responseType" may differ.
312
- * @see https://xhr.spec.whatwg.org/#the-response-attribute
313
- */
314
- this.request.response
315
- );
316
- this.onResponse.call(this, {
317
- response: fetchResponse,
318
- isMockedResponse: this[kIsRequestHandled],
319
- request: fetchRequest,
320
- requestId: this.requestId
321
- });
322
- }
323
- });
324
- const requestBody = typeof body === "string" ? _chunkLK6DILFKjs.encodeBuffer.call(void 0, body) : body;
325
- const fetchRequest = this.toFetchApiRequest(requestBody);
326
- this[kFetchRequest] = fetchRequest.clone();
327
- const onceRequestSettled = ((_a = this.onRequest) == null ? void 0 : _a.call(this, {
328
- request: fetchRequest,
329
- requestId: this.requestId
330
- })) || Promise.resolve();
331
- onceRequestSettled.finally(() => {
332
- if (!this[kIsRequestHandled]) {
333
- this.logger.info(
334
- "request callback settled but request has not been handled (readystate %d), performing as-is...",
335
- this.request.readyState
336
- );
337
- if (IS_NODE) {
338
- this.request.setRequestHeader(
339
- _chunkTIPR373Rjs.INTERNAL_REQUEST_ID_HEADER_NAME,
340
- this.requestId
341
- );
342
- }
343
- return invoke();
344
- }
345
- });
346
- break;
347
- }
348
- default: {
349
- return invoke();
350
- }
351
- }
352
- }
353
- });
354
- define(
355
- this.request,
356
- "upload",
357
- createProxy(this.request.upload, {
358
- setProperty: ([propertyName, nextValue], invoke) => {
359
- switch (propertyName) {
360
- case "onloadstart":
361
- case "onprogress":
362
- case "onaboart":
363
- case "onerror":
364
- case "onload":
365
- case "ontimeout":
366
- case "onloadend": {
367
- const eventName = propertyName.slice(
368
- 2
369
- );
370
- this.registerUploadEvent(eventName, nextValue);
371
- }
372
- }
373
- return invoke();
374
- },
375
- methodCall: ([methodName, args], invoke) => {
376
- switch (methodName) {
377
- case "addEventListener": {
378
- const [eventName, listener] = args;
379
- this.registerUploadEvent(eventName, listener);
380
- this.logger.info("upload.addEventListener", eventName, listener);
381
- return invoke();
382
- }
383
- }
384
- }
385
- })
386
- );
387
- }
388
- registerEvent(eventName, listener) {
389
- const prevEvents = this.events.get(eventName) || [];
390
- const nextEvents = prevEvents.concat(listener);
391
- this.events.set(eventName, nextEvents);
392
- this.logger.info('registered event "%s"', eventName, listener);
393
- }
394
- registerUploadEvent(eventName, listener) {
395
- const prevEvents = this.uploadEvents.get(eventName) || [];
396
- const nextEvents = prevEvents.concat(listener);
397
- this.uploadEvents.set(eventName, nextEvents);
398
- this.logger.info('registered upload event "%s"', eventName, listener);
399
- }
400
- /**
401
- * Responds to the current request with the given
402
- * Fetch API `Response` instance.
403
- */
404
- async respondWith(response) {
405
- this[kIsRequestHandled] = true;
406
- if (this[kFetchRequest]) {
407
- const totalRequestBodyLength = await getBodyByteLength(
408
- this[kFetchRequest]
409
- );
410
- this.trigger("loadstart", this.request.upload, {
411
- loaded: 0,
412
- total: totalRequestBodyLength
413
- });
414
- this.trigger("progress", this.request.upload, {
415
- loaded: totalRequestBodyLength,
416
- total: totalRequestBodyLength
417
- });
418
- this.trigger("load", this.request.upload, {
419
- loaded: totalRequestBodyLength,
420
- total: totalRequestBodyLength
421
- });
422
- this.trigger("loadend", this.request.upload, {
423
- loaded: totalRequestBodyLength,
424
- total: totalRequestBodyLength
425
- });
426
- }
427
- this.logger.info(
428
- "responding with a mocked response: %d %s",
429
- response.status,
430
- response.statusText
431
- );
432
- define(this.request, "status", response.status);
433
- define(this.request, "statusText", response.statusText);
434
- define(this.request, "responseURL", this.url.href);
435
- this.request.getResponseHeader = new Proxy(this.request.getResponseHeader, {
436
- apply: (_, __, args) => {
437
- this.logger.info("getResponseHeader", args[0]);
438
- if (this.request.readyState < this.request.HEADERS_RECEIVED) {
439
- this.logger.info("headers not received yet, returning null");
440
- return null;
441
- }
442
- const headerValue = response.headers.get(args[0]);
443
- this.logger.info(
444
- 'resolved response header "%s" to',
445
- args[0],
446
- headerValue
447
- );
448
- return headerValue;
449
- }
450
- });
451
- this.request.getAllResponseHeaders = new Proxy(
452
- this.request.getAllResponseHeaders,
453
- {
454
- apply: () => {
455
- this.logger.info("getAllResponseHeaders");
456
- if (this.request.readyState < this.request.HEADERS_RECEIVED) {
457
- this.logger.info("headers not received yet, returning empty string");
458
- return "";
459
- }
460
- const headersList = Array.from(response.headers.entries());
461
- const allHeaders = headersList.map(([headerName, headerValue]) => {
462
- return `${headerName}: ${headerValue}`;
463
- }).join("\r\n");
464
- this.logger.info("resolved all response headers to", allHeaders);
465
- return allHeaders;
466
- }
467
- }
468
- );
469
- Object.defineProperties(this.request, {
470
- response: {
471
- enumerable: true,
472
- configurable: false,
473
- get: () => this.response
474
- },
475
- responseText: {
476
- enumerable: true,
477
- configurable: false,
478
- get: () => this.responseText
479
- },
480
- responseXML: {
481
- enumerable: true,
482
- configurable: false,
483
- get: () => this.responseXML
484
- }
485
- });
486
- const totalResponseBodyLength = await getBodyByteLength(response.clone());
487
- this.logger.info("calculated response body length", totalResponseBodyLength);
488
- this.trigger("loadstart", this.request, {
489
- loaded: 0,
490
- total: totalResponseBodyLength
491
- });
492
- this.setReadyState(this.request.HEADERS_RECEIVED);
493
- this.setReadyState(this.request.LOADING);
494
- const finalizeResponse = () => {
495
- this.logger.info("finalizing the mocked response...");
496
- this.setReadyState(this.request.DONE);
497
- this.trigger("load", this.request, {
498
- loaded: this.responseBuffer.byteLength,
499
- total: totalResponseBodyLength
500
- });
501
- this.trigger("loadend", this.request, {
502
- loaded: this.responseBuffer.byteLength,
503
- total: totalResponseBodyLength
504
- });
505
- };
506
- if (response.body) {
507
- this.logger.info("mocked response has body, streaming...");
508
- const reader = response.body.getReader();
509
- const readNextResponseBodyChunk = async () => {
510
- const { value, done } = await reader.read();
511
- if (done) {
512
- this.logger.info("response body stream done!");
513
- finalizeResponse();
514
- return;
515
- }
516
- if (value) {
517
- this.logger.info("read response body chunk:", value);
518
- this.responseBuffer = concatArrayBuffer(this.responseBuffer, value);
519
- this.trigger("progress", this.request, {
520
- loaded: this.responseBuffer.byteLength,
521
- total: totalResponseBodyLength
522
- });
523
- }
524
- readNextResponseBodyChunk();
525
- };
526
- readNextResponseBodyChunk();
527
- } else {
528
- finalizeResponse();
529
- }
530
- }
531
- responseBufferToText() {
532
- return _chunkLK6DILFKjs.decodeBuffer.call(void 0, this.responseBuffer);
533
- }
534
- get response() {
535
- this.logger.info(
536
- "getResponse (responseType: %s)",
537
- this.request.responseType
538
- );
539
- if (this.request.readyState !== this.request.DONE) {
540
- return null;
541
- }
542
- switch (this.request.responseType) {
543
- case "json": {
544
- const responseJson = parseJson(this.responseBufferToText());
545
- this.logger.info("resolved response JSON", responseJson);
546
- return responseJson;
547
- }
548
- case "arraybuffer": {
549
- const arrayBuffer = _chunkLK6DILFKjs.toArrayBuffer.call(void 0, this.responseBuffer);
550
- this.logger.info("resolved response ArrayBuffer", arrayBuffer);
551
- return arrayBuffer;
552
- }
553
- case "blob": {
554
- const mimeType = this.request.getResponseHeader("Content-Type") || "text/plain";
555
- const responseBlob = new Blob([this.responseBufferToText()], {
556
- type: mimeType
557
- });
558
- this.logger.info(
559
- "resolved response Blob (mime type: %s)",
560
- responseBlob,
561
- mimeType
562
- );
563
- return responseBlob;
564
- }
565
- default: {
566
- const responseText = this.responseBufferToText();
567
- this.logger.info(
568
- 'resolving "%s" response type as text',
569
- this.request.responseType,
570
- responseText
571
- );
572
- return responseText;
573
- }
574
- }
575
- }
576
- get responseText() {
577
- _outvariant.invariant.call(void 0,
578
- this.request.responseType === "" || this.request.responseType === "text",
579
- "InvalidStateError: The object is in invalid state."
580
- );
581
- if (this.request.readyState !== this.request.LOADING && this.request.readyState !== this.request.DONE) {
582
- return "";
583
- }
584
- const responseText = this.responseBufferToText();
585
- this.logger.info('getResponseText: "%s"', responseText);
586
- return responseText;
587
- }
588
- get responseXML() {
589
- _outvariant.invariant.call(void 0,
590
- this.request.responseType === "" || this.request.responseType === "document",
591
- "InvalidStateError: The object is in invalid state."
592
- );
593
- if (this.request.readyState !== this.request.DONE) {
594
- return null;
595
- }
596
- const contentType = this.request.getResponseHeader("Content-Type") || "";
597
- if (typeof DOMParser === "undefined") {
598
- console.warn(
599
- "Cannot retrieve XMLHttpRequest response body as XML: DOMParser is not defined. You are likely using an environment that is not browser or does not polyfill browser globals correctly."
600
- );
601
- return null;
602
- }
603
- if (isDomParserSupportedType(contentType)) {
604
- return new DOMParser().parseFromString(
605
- this.responseBufferToText(),
606
- contentType
607
- );
608
- }
609
- return null;
610
- }
611
- errorWith(error) {
612
- this[kIsRequestHandled] = true;
613
- this.logger.info("responding with an error");
614
- this.setReadyState(this.request.DONE);
615
- this.trigger("error", this.request);
616
- this.trigger("loadend", this.request);
617
- }
618
- /**
619
- * Transitions this request's `readyState` to the given one.
620
- */
621
- setReadyState(nextReadyState) {
622
- this.logger.info(
623
- "setReadyState: %d -> %d",
624
- this.request.readyState,
625
- nextReadyState
626
- );
627
- if (this.request.readyState === nextReadyState) {
628
- this.logger.info("ready state identical, skipping transition...");
629
- return;
630
- }
631
- define(this.request, "readyState", nextReadyState);
632
- this.logger.info("set readyState to: %d", nextReadyState);
633
- if (nextReadyState !== this.request.UNSENT) {
634
- this.logger.info('triggering "readystatechange" event...');
635
- this.trigger("readystatechange", this.request);
636
- }
637
- }
638
- /**
639
- * Triggers given event on the `XMLHttpRequest` instance.
640
- */
641
- trigger(eventName, target, options) {
642
- const callback = target[`on${eventName}`];
643
- const event = createEvent(target, eventName, options);
644
- this.logger.info('trigger "%s"', eventName, options || "");
645
- if (typeof callback === "function") {
646
- this.logger.info('found a direct "%s" callback, calling...', eventName);
647
- callback.call(target, event);
648
- }
649
- const events = target instanceof XMLHttpRequestUpload ? this.uploadEvents : this.events;
650
- for (const [registeredEventName, listeners] of events) {
651
- if (registeredEventName === eventName) {
652
- this.logger.info(
653
- 'found %d listener(s) for "%s" event, calling...',
654
- listeners.length,
655
- eventName
656
- );
657
- listeners.forEach((listener) => listener.call(target, event));
658
- }
659
- }
660
- }
661
- /**
662
- * Converts this `XMLHttpRequest` instance into a Fetch API `Request` instance.
663
- */
664
- toFetchApiRequest(body) {
665
- this.logger.info("converting request to a Fetch API Request...");
666
- const resolvedBody = body instanceof Document ? body.documentElement.innerText : body;
667
- const fetchRequest = new Request(this.url.href, {
668
- method: this.method,
669
- headers: this.requestHeaders,
670
- /**
671
- * @see https://xhr.spec.whatwg.org/#cross-origin-credentials
672
- */
673
- credentials: this.request.withCredentials ? "include" : "same-origin",
674
- body: ["GET", "HEAD"].includes(this.method.toUpperCase()) ? null : resolvedBody
675
- });
676
- const proxyHeaders = createProxy(fetchRequest.headers, {
677
- methodCall: ([methodName, args], invoke) => {
678
- switch (methodName) {
679
- case "append":
680
- case "set": {
681
- const [headerName, headerValue] = args;
682
- this.request.setRequestHeader(headerName, headerValue);
683
- break;
684
- }
685
- case "delete": {
686
- const [headerName] = args;
687
- console.warn(
688
- `XMLHttpRequest: Cannot remove a "${headerName}" header from the Fetch API representation of the "${fetchRequest.method} ${fetchRequest.url}" request. XMLHttpRequest headers cannot be removed.`
689
- );
690
- break;
691
- }
692
- }
693
- return invoke();
694
- }
695
- });
696
- define(fetchRequest, "headers", proxyHeaders);
697
- _chunkT7TBRNJZjs.setRawRequest.call(void 0, fetchRequest, this.request);
698
- this.logger.info("converted request to a Fetch API Request!", fetchRequest);
699
- return fetchRequest;
700
- }
701
- };
702
- kIsRequestHandled, kFetchRequest;
703
- function toAbsoluteUrl(url) {
704
- if (typeof location === "undefined") {
705
- return new URL(url);
706
- }
707
- return new URL(url.toString(), location.href);
708
- }
709
- function define(target, property, value) {
710
- Reflect.defineProperty(target, property, {
711
- // Ensure writable properties to allow redefining readonly properties.
712
- writable: true,
713
- enumerable: true,
714
- value
715
- });
716
- }
717
-
718
- // src/interceptors/XMLHttpRequest/XMLHttpRequestProxy.ts
719
- function createXMLHttpRequestProxy({
720
- emitter,
721
- logger
722
- }) {
723
- const XMLHttpRequestProxy = new Proxy(globalThis.XMLHttpRequest, {
724
- construct(target, args, newTarget) {
725
- logger.info("constructed new XMLHttpRequest");
726
- const originalRequest = Reflect.construct(
727
- target,
728
- args,
729
- newTarget
730
- );
731
- const prototypeDescriptors = Object.getOwnPropertyDescriptors(
732
- target.prototype
733
- );
734
- for (const propertyName in prototypeDescriptors) {
735
- Reflect.defineProperty(
736
- originalRequest,
737
- propertyName,
738
- prototypeDescriptors[propertyName]
739
- );
740
- }
741
- const xhrRequestController = new XMLHttpRequestController(
742
- originalRequest,
743
- logger
744
- );
745
- xhrRequestController.onRequest = async function({ request, requestId }) {
746
- const controller = new (0, _chunk2QICSCCSjs.RequestController)(request);
747
- this.logger.info("awaiting mocked response...");
748
- this.logger.info(
749
- 'emitting the "request" event for %s listener(s)...',
750
- emitter.listenerCount("request")
751
- );
752
- const isRequestHandled = await _chunk2QICSCCSjs.handleRequest.call(void 0, {
753
- request,
754
- requestId,
755
- controller,
756
- emitter,
757
- onResponse: async (response) => {
758
- await this.respondWith(response);
759
- },
760
- onRequestError: () => {
761
- this.errorWith(new TypeError("Network error"));
762
- },
763
- onError: (error) => {
764
- this.logger.info("request errored!", { error });
765
- if (error instanceof Error) {
766
- this.errorWith(error);
767
- }
768
- }
769
- });
770
- if (!isRequestHandled) {
771
- this.logger.info(
772
- "no mocked response received, performing request as-is..."
773
- );
774
- }
775
- };
776
- xhrRequestController.onResponse = async function({
777
- response,
778
- isMockedResponse,
779
- request,
780
- requestId
781
- }) {
782
- this.logger.info(
783
- 'emitting the "response" event for %s listener(s)...',
784
- emitter.listenerCount("response")
785
- );
786
- emitter.emit("response", {
787
- response,
788
- isMockedResponse,
789
- request,
790
- requestId
791
- });
792
- };
793
- return xhrRequestController.request;
794
- }
795
- });
796
- return XMLHttpRequestProxy;
797
- }
798
-
799
- // src/interceptors/XMLHttpRequest/index.ts
800
- var _XMLHttpRequestInterceptor = class extends _chunkTIPR373Rjs.Interceptor {
801
- constructor() {
802
- super(_XMLHttpRequestInterceptor.interceptorSymbol);
803
- }
804
- checkEnvironment() {
805
- return _chunk2HUMWGRDjs.hasConfigurableGlobal.call(void 0, "XMLHttpRequest");
806
- }
807
- setup() {
808
- const logger = this.logger.extend("setup");
809
- logger.info('patching "XMLHttpRequest" module...');
810
- const PureXMLHttpRequest = globalThis.XMLHttpRequest;
811
- _outvariant.invariant.call(void 0,
812
- !PureXMLHttpRequest[_chunkT7TBRNJZjs.IS_PATCHED_MODULE],
813
- 'Failed to patch the "XMLHttpRequest" module: already patched.'
814
- );
815
- globalThis.XMLHttpRequest = createXMLHttpRequestProxy({
816
- emitter: this.emitter,
817
- logger: this.logger
818
- });
819
- logger.info(
820
- 'native "XMLHttpRequest" module patched!',
821
- globalThis.XMLHttpRequest.name
822
- );
823
- Object.defineProperty(globalThis.XMLHttpRequest, _chunkT7TBRNJZjs.IS_PATCHED_MODULE, {
824
- enumerable: true,
825
- configurable: true,
826
- value: true
827
- });
828
- this.subscriptions.push(() => {
829
- Object.defineProperty(globalThis.XMLHttpRequest, _chunkT7TBRNJZjs.IS_PATCHED_MODULE, {
830
- value: void 0
831
- });
832
- globalThis.XMLHttpRequest = PureXMLHttpRequest;
833
- logger.info(
834
- 'native "XMLHttpRequest" module restored!',
835
- globalThis.XMLHttpRequest.name
836
- );
837
- });
838
- }
839
- };
840
- var XMLHttpRequestInterceptor = _XMLHttpRequestInterceptor;
841
- XMLHttpRequestInterceptor.interceptorSymbol = Symbol("xhr");
842
-
843
-
844
-
845
- exports.XMLHttpRequestInterceptor = XMLHttpRequestInterceptor;
846
- //# sourceMappingURL=chunk-E3CCOBRX.js.map