@mswjs/interceptors 0.25.6 → 0.25.8

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 (44) hide show
  1. package/lib/browser/{chunk-KITNLK66.js → chunk-ECJJD4T6.js} +5 -5
  2. package/lib/browser/{chunk-CWVY2E3W.js → chunk-G5ORGOKH.js} +1 -1
  3. package/lib/browser/{chunk-AN3YI76R.mjs → chunk-QOFKGEDX.mjs} +3 -3
  4. package/lib/browser/{chunk-QPMXOLDO.mjs → chunk-S72SKXXQ.mjs} +1 -1
  5. package/lib/browser/{chunk-FFBQOFWV.js → chunk-XFQ4KKVQ.js} +7 -7
  6. package/lib/browser/{chunk-HXJPKJY3.mjs → chunk-XIF5PZER.mjs} +1 -1
  7. package/lib/browser/index.js +3 -3
  8. package/lib/browser/index.mjs +1 -1
  9. package/lib/browser/interceptors/XMLHttpRequest/index.js +3 -3
  10. package/lib/browser/interceptors/XMLHttpRequest/index.mjs +2 -2
  11. package/lib/browser/interceptors/fetch/index.js +3 -3
  12. package/lib/browser/interceptors/fetch/index.mjs +2 -2
  13. package/lib/browser/presets/browser.js +5 -5
  14. package/lib/browser/presets/browser.mjs +3 -3
  15. package/lib/node/RemoteHttpInterceptor.js +8 -8
  16. package/lib/node/RemoteHttpInterceptor.mjs +4 -4
  17. package/lib/node/{chunk-UF7QIAQ5.js → chunk-AA4NWHDY.js} +2 -2
  18. package/lib/node/{chunk-44QGFZIT.js → chunk-FWLJEVDW.js} +72 -18
  19. package/lib/node/{chunk-GM3YBSM3.mjs → chunk-JAW6F2FR.mjs} +1 -1
  20. package/lib/node/{chunk-UBEFEZXT.mjs → chunk-LNYHQTKT.mjs} +1 -1
  21. package/lib/node/{chunk-JCWVLTP7.js → chunk-MEGFRRJI.js} +4 -4
  22. package/lib/node/{chunk-Z7O2DO3X.mjs → chunk-P4CPJLJS.mjs} +71 -17
  23. package/lib/node/{chunk-3XFLRXRY.js → chunk-UZM2Y7WJ.js} +1 -1
  24. package/lib/node/{chunk-FB53TMYN.mjs → chunk-W2OZTHRV.mjs} +3 -3
  25. package/lib/node/index.js +3 -3
  26. package/lib/node/index.mjs +2 -2
  27. package/lib/node/interceptors/ClientRequest/index.js +3 -3
  28. package/lib/node/interceptors/ClientRequest/index.mjs +2 -2
  29. package/lib/node/interceptors/XMLHttpRequest/index.js +3 -3
  30. package/lib/node/interceptors/XMLHttpRequest/index.mjs +2 -2
  31. package/lib/node/interceptors/fetch/index.js +2 -2
  32. package/lib/node/interceptors/fetch/index.mjs +1 -1
  33. package/lib/node/presets/node.js +5 -5
  34. package/lib/node/presets/node.mjs +3 -3
  35. package/package.json +1 -1
  36. package/src/Interceptor.ts +1 -1
  37. package/src/interceptors/ClientRequest/NodeClientRequest.test.ts +0 -106
  38. package/src/interceptors/ClientRequest/NodeClientRequest.ts +70 -21
  39. package/src/interceptors/ClientRequest/utils/normalizeClientRequestArgs.ts +10 -0
  40. package/src/interceptors/XMLHttpRequest/XMLHttpRequestController.ts +2 -2
  41. package/src/utils/getRawFetchHeaders.test.ts +50 -0
  42. package/src/utils/getRawFetchHeaders.ts +56 -0
  43. package/src/utils/getValueBySymbol.test.ts +14 -0
  44. package/src/utils/getValueBySymbol.ts +19 -0
@@ -6,13 +6,13 @@ var _chunkX3NRJIZWjs = require('./chunk-X3NRJIZW.js');
6
6
 
7
7
 
8
8
 
9
- var _chunkCWVY2E3Wjs = require('./chunk-CWVY2E3W.js');
9
+ var _chunkG5ORGOKHjs = require('./chunk-G5ORGOKH.js');
10
10
 
11
11
  // src/interceptors/fetch/index.ts
12
12
  var _outvariant = require('outvariant');
13
13
  var _deferredpromise = require('@open-draft/deferred-promise');
14
14
  var _until = require('@open-draft/until');
15
- var _FetchInterceptor = class extends _chunkCWVY2E3Wjs.Interceptor {
15
+ var _FetchInterceptor = class extends _chunkG5ORGOKHjs.Interceptor {
16
16
  constructor() {
17
17
  super(_FetchInterceptor.symbol);
18
18
  }
@@ -22,7 +22,7 @@ var _FetchInterceptor = class extends _chunkCWVY2E3Wjs.Interceptor {
22
22
  setup() {
23
23
  const pureFetch = globalThis.fetch;
24
24
  _outvariant.invariant.call(void 0,
25
- !pureFetch[_chunkCWVY2E3Wjs.IS_PATCHED_MODULE],
25
+ !pureFetch[_chunkG5ORGOKHjs.IS_PATCHED_MODULE],
26
26
  'Failed to patch the "fetch" module: already patched.'
27
27
  );
28
28
  globalThis.fetch = async (input, init) => {
@@ -115,13 +115,13 @@ var _FetchInterceptor = class extends _chunkCWVY2E3Wjs.Interceptor {
115
115
  return response;
116
116
  });
117
117
  };
118
- Object.defineProperty(globalThis.fetch, _chunkCWVY2E3Wjs.IS_PATCHED_MODULE, {
118
+ Object.defineProperty(globalThis.fetch, _chunkG5ORGOKHjs.IS_PATCHED_MODULE, {
119
119
  enumerable: true,
120
120
  configurable: true,
121
121
  value: true
122
122
  });
123
123
  this.subscriptions.push(() => {
124
- Object.defineProperty(globalThis.fetch, _chunkCWVY2E3Wjs.IS_PATCHED_MODULE, {
124
+ Object.defineProperty(globalThis.fetch, _chunkG5ORGOKHjs.IS_PATCHED_MODULE, {
125
125
  value: void 0
126
126
  });
127
127
  globalThis.fetch = pureFetch;
@@ -94,7 +94,7 @@ var Interceptor = class {
94
94
  logger.info("cannot listen to events, already disposed!");
95
95
  return this;
96
96
  }
97
- logger.info('adding "%s" event listener:', event, listener.name);
97
+ logger.info('adding "%s" event listener:', event, listener);
98
98
  this.emitter.on(event, listener);
99
99
  return this;
100
100
  }
@@ -11,7 +11,7 @@ import {
11
11
  import {
12
12
  IS_PATCHED_MODULE,
13
13
  Interceptor
14
- } from "./chunk-QPMXOLDO.mjs";
14
+ } from "./chunk-S72SKXXQ.mjs";
15
15
 
16
16
  // src/interceptors/XMLHttpRequest/index.ts
17
17
  import { invariant as invariant2 } from "outvariant";
@@ -279,7 +279,7 @@ var XMLHttpRequestController = class {
279
279
  case "addEventListener": {
280
280
  const [eventName, listener] = args;
281
281
  this.registerEvent(eventName, listener);
282
- this.logger.info("addEventListener", eventName, listener.name);
282
+ this.logger.info("addEventListener", eventName, listener);
283
283
  return invoke();
284
284
  }
285
285
  case "setRequestHeader": {
@@ -342,7 +342,7 @@ var XMLHttpRequestController = class {
342
342
  const prevEvents = this.events.get(eventName) || [];
343
343
  const nextEvents = prevEvents.concat(listener);
344
344
  this.events.set(eventName, nextEvents);
345
- this.logger.info('registered event "%s"', eventName, listener.name);
345
+ this.logger.info('registered event "%s"', eventName, listener);
346
346
  }
347
347
  /**
348
348
  * Responds to the current request with the given
@@ -94,7 +94,7 @@ var Interceptor = class {
94
94
  logger.info("cannot listen to events, already disposed!");
95
95
  return this;
96
96
  }
97
- logger.info('adding "%s" event listener:', event, listener.name);
97
+ logger.info('adding "%s" event listener:', event, listener);
98
98
  this.emitter.on(event, listener);
99
99
  return this;
100
100
  }
@@ -11,7 +11,7 @@ var _chunkX3NRJIZWjs = require('./chunk-X3NRJIZW.js');
11
11
 
12
12
 
13
13
 
14
- var _chunkCWVY2E3Wjs = require('./chunk-CWVY2E3W.js');
14
+ var _chunkG5ORGOKHjs = require('./chunk-G5ORGOKH.js');
15
15
 
16
16
  // src/interceptors/XMLHttpRequest/index.ts
17
17
  var _outvariant = require('outvariant');
@@ -279,7 +279,7 @@ var XMLHttpRequestController = class {
279
279
  case "addEventListener": {
280
280
  const [eventName, listener] = args;
281
281
  this.registerEvent(eventName, listener);
282
- this.logger.info("addEventListener", eventName, listener.name);
282
+ this.logger.info("addEventListener", eventName, listener);
283
283
  return invoke();
284
284
  }
285
285
  case "setRequestHeader": {
@@ -342,7 +342,7 @@ var XMLHttpRequestController = class {
342
342
  const prevEvents = this.events.get(eventName) || [];
343
343
  const nextEvents = prevEvents.concat(listener);
344
344
  this.events.set(eventName, nextEvents);
345
- this.logger.info('registered event "%s"', eventName, listener.name);
345
+ this.logger.info('registered event "%s"', eventName, listener);
346
346
  }
347
347
  /**
348
348
  * Responds to the current request with the given
@@ -738,7 +738,7 @@ function createXMLHttpRequestProxy({
738
738
  }
739
739
 
740
740
  // src/interceptors/XMLHttpRequest/index.ts
741
- var _XMLHttpRequestInterceptor = class extends _chunkCWVY2E3Wjs.Interceptor {
741
+ var _XMLHttpRequestInterceptor = class extends _chunkG5ORGOKHjs.Interceptor {
742
742
  constructor() {
743
743
  super(_XMLHttpRequestInterceptor.interceptorSymbol);
744
744
  }
@@ -750,7 +750,7 @@ var _XMLHttpRequestInterceptor = class extends _chunkCWVY2E3Wjs.Interceptor {
750
750
  logger.info('patching "XMLHttpRequest" module...');
751
751
  const PureXMLHttpRequest = globalThis.XMLHttpRequest;
752
752
  _outvariant.invariant.call(void 0,
753
- !PureXMLHttpRequest[_chunkCWVY2E3Wjs.IS_PATCHED_MODULE],
753
+ !PureXMLHttpRequest[_chunkG5ORGOKHjs.IS_PATCHED_MODULE],
754
754
  'Failed to patch the "XMLHttpRequest" module: already patched.'
755
755
  );
756
756
  globalThis.XMLHttpRequest = createXMLHttpRequestProxy({
@@ -761,13 +761,13 @@ var _XMLHttpRequestInterceptor = class extends _chunkCWVY2E3Wjs.Interceptor {
761
761
  'native "XMLHttpRequest" module patched!',
762
762
  globalThis.XMLHttpRequest.name
763
763
  );
764
- Object.defineProperty(globalThis.XMLHttpRequest, _chunkCWVY2E3Wjs.IS_PATCHED_MODULE, {
764
+ Object.defineProperty(globalThis.XMLHttpRequest, _chunkG5ORGOKHjs.IS_PATCHED_MODULE, {
765
765
  enumerable: true,
766
766
  configurable: true,
767
767
  value: true
768
768
  });
769
769
  this.subscriptions.push(() => {
770
- Object.defineProperty(globalThis.XMLHttpRequest, _chunkCWVY2E3Wjs.IS_PATCHED_MODULE, {
770
+ Object.defineProperty(globalThis.XMLHttpRequest, _chunkG5ORGOKHjs.IS_PATCHED_MODULE, {
771
771
  value: void 0
772
772
  });
773
773
  globalThis.XMLHttpRequest = PureXMLHttpRequest;
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  IS_PATCHED_MODULE,
8
8
  Interceptor
9
- } from "./chunk-QPMXOLDO.mjs";
9
+ } from "./chunk-S72SKXXQ.mjs";
10
10
 
11
11
  // src/interceptors/fetch/index.ts
12
12
  import { invariant } from "outvariant";
@@ -8,10 +8,10 @@ var _chunk3LFH2WCFjs = require('./chunk-3LFH2WCF.js');
8
8
 
9
9
 
10
10
 
11
- var _chunkCWVY2E3Wjs = require('./chunk-CWVY2E3W.js');
11
+ var _chunkG5ORGOKHjs = require('./chunk-G5ORGOKH.js');
12
12
 
13
13
  // src/BatchInterceptor.ts
14
- var BatchInterceptor = class extends _chunkCWVY2E3Wjs.Interceptor {
14
+ var BatchInterceptor = class extends _chunkG5ORGOKHjs.Interceptor {
15
15
  constructor(options) {
16
16
  BatchInterceptor.symbol = Symbol(options.name);
17
17
  super(BatchInterceptor.symbol);
@@ -67,4 +67,4 @@ function getCleanUrl(url, isAbsolute = true) {
67
67
 
68
68
 
69
69
 
70
- exports.BatchInterceptor = BatchInterceptor; exports.IS_PATCHED_MODULE = _chunkCWVY2E3Wjs.IS_PATCHED_MODULE; exports.Interceptor = _chunkCWVY2E3Wjs.Interceptor; exports.InterceptorReadyState = _chunkCWVY2E3Wjs.InterceptorReadyState; exports.decodeBuffer = _chunk3LFH2WCFjs.decodeBuffer; exports.deleteGlobalSymbol = _chunkCWVY2E3Wjs.deleteGlobalSymbol; exports.encodeBuffer = _chunk3LFH2WCFjs.encodeBuffer; exports.getCleanUrl = getCleanUrl; exports.getGlobalSymbol = _chunkCWVY2E3Wjs.getGlobalSymbol;
70
+ exports.BatchInterceptor = BatchInterceptor; exports.IS_PATCHED_MODULE = _chunkG5ORGOKHjs.IS_PATCHED_MODULE; exports.Interceptor = _chunkG5ORGOKHjs.Interceptor; exports.InterceptorReadyState = _chunkG5ORGOKHjs.InterceptorReadyState; exports.decodeBuffer = _chunk3LFH2WCFjs.decodeBuffer; exports.deleteGlobalSymbol = _chunkG5ORGOKHjs.deleteGlobalSymbol; exports.encodeBuffer = _chunk3LFH2WCFjs.encodeBuffer; exports.getCleanUrl = getCleanUrl; exports.getGlobalSymbol = _chunkG5ORGOKHjs.getGlobalSymbol;
@@ -8,7 +8,7 @@ import {
8
8
  InterceptorReadyState,
9
9
  deleteGlobalSymbol,
10
10
  getGlobalSymbol
11
- } from "./chunk-QPMXOLDO.mjs";
11
+ } from "./chunk-S72SKXXQ.mjs";
12
12
 
13
13
  // src/BatchInterceptor.ts
14
14
  var BatchInterceptor = class extends Interceptor {
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkFFBQOFWVjs = require('../../chunk-FFBQOFWV.js');
3
+ var _chunkXFQ4KKVQjs = require('../../chunk-XFQ4KKVQ.js');
4
4
  require('../../chunk-3LFH2WCF.js');
5
5
  require('../../chunk-X3NRJIZW.js');
6
- require('../../chunk-CWVY2E3W.js');
6
+ require('../../chunk-G5ORGOKH.js');
7
7
 
8
8
 
9
- exports.XMLHttpRequestInterceptor = _chunkFFBQOFWVjs.XMLHttpRequestInterceptor;
9
+ exports.XMLHttpRequestInterceptor = _chunkXFQ4KKVQjs.XMLHttpRequestInterceptor;
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  XMLHttpRequestInterceptor
3
- } from "../../chunk-AN3YI76R.mjs";
3
+ } from "../../chunk-QOFKGEDX.mjs";
4
4
  import "../../chunk-7II4SWKS.mjs";
5
5
  import "../../chunk-KK6APRON.mjs";
6
- import "../../chunk-QPMXOLDO.mjs";
6
+ import "../../chunk-S72SKXXQ.mjs";
7
7
  export {
8
8
  XMLHttpRequestInterceptor
9
9
  };
@@ -1,8 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkKITNLK66js = require('../../chunk-KITNLK66.js');
3
+ var _chunkECJJD4T6js = require('../../chunk-ECJJD4T6.js');
4
4
  require('../../chunk-X3NRJIZW.js');
5
- require('../../chunk-CWVY2E3W.js');
5
+ require('../../chunk-G5ORGOKH.js');
6
6
 
7
7
 
8
- exports.FetchInterceptor = _chunkKITNLK66js.FetchInterceptor;
8
+ exports.FetchInterceptor = _chunkECJJD4T6js.FetchInterceptor;
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  FetchInterceptor
3
- } from "../../chunk-HXJPKJY3.mjs";
3
+ } from "../../chunk-XIF5PZER.mjs";
4
4
  import "../../chunk-KK6APRON.mjs";
5
- import "../../chunk-QPMXOLDO.mjs";
5
+ import "../../chunk-S72SKXXQ.mjs";
6
6
  export {
7
7
  FetchInterceptor
8
8
  };
@@ -1,17 +1,17 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkFFBQOFWVjs = require('../chunk-FFBQOFWV.js');
3
+ var _chunkXFQ4KKVQjs = require('../chunk-XFQ4KKVQ.js');
4
4
  require('../chunk-3LFH2WCF.js');
5
5
 
6
6
 
7
- var _chunkKITNLK66js = require('../chunk-KITNLK66.js');
7
+ var _chunkECJJD4T6js = require('../chunk-ECJJD4T6.js');
8
8
  require('../chunk-X3NRJIZW.js');
9
- require('../chunk-CWVY2E3W.js');
9
+ require('../chunk-G5ORGOKH.js');
10
10
 
11
11
  // src/presets/browser.ts
12
12
  var browser_default = [
13
- new (0, _chunkKITNLK66js.FetchInterceptor)(),
14
- new (0, _chunkFFBQOFWVjs.XMLHttpRequestInterceptor)()
13
+ new (0, _chunkECJJD4T6js.FetchInterceptor)(),
14
+ new (0, _chunkXFQ4KKVQjs.XMLHttpRequestInterceptor)()
15
15
  ];
16
16
 
17
17
 
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  XMLHttpRequestInterceptor
3
- } from "../chunk-AN3YI76R.mjs";
3
+ } from "../chunk-QOFKGEDX.mjs";
4
4
  import "../chunk-7II4SWKS.mjs";
5
5
  import {
6
6
  FetchInterceptor
7
- } from "../chunk-HXJPKJY3.mjs";
7
+ } from "../chunk-XIF5PZER.mjs";
8
8
  import "../chunk-KK6APRON.mjs";
9
- import "../chunk-QPMXOLDO.mjs";
9
+ import "../chunk-S72SKXXQ.mjs";
10
10
 
11
11
  // src/presets/browser.ts
12
12
  var browser_default = [
@@ -1,12 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkUF7QIAQ5js = require('./chunk-UF7QIAQ5.js');
3
+ var _chunkAA4NWHDYjs = require('./chunk-AA4NWHDY.js');
4
4
 
5
5
 
6
- var _chunk44QGFZITjs = require('./chunk-44QGFZIT.js');
6
+ var _chunkFWLJEVDWjs = require('./chunk-FWLJEVDW.js');
7
7
 
8
8
 
9
- var _chunkJCWVLTP7js = require('./chunk-JCWVLTP7.js');
9
+ var _chunkMEGFRRJIjs = require('./chunk-MEGFRRJI.js');
10
10
  require('./chunk-3LFH2WCF.js');
11
11
  require('./chunk-OGN3ZR35.js');
12
12
  require('./chunk-VQ4DZOBB.js');
@@ -16,16 +16,16 @@ require('./chunk-VQ4DZOBB.js');
16
16
  var _chunk5PTPJLB7js = require('./chunk-5PTPJLB7.js');
17
17
 
18
18
 
19
- var _chunk3XFLRXRYjs = require('./chunk-3XFLRXRY.js');
19
+ var _chunkUZM2Y7WJjs = require('./chunk-UZM2Y7WJ.js');
20
20
 
21
21
  // src/RemoteHttpInterceptor.ts
22
- var RemoteHttpInterceptor = class extends _chunkUF7QIAQ5js.BatchInterceptor {
22
+ var RemoteHttpInterceptor = class extends _chunkAA4NWHDYjs.BatchInterceptor {
23
23
  constructor() {
24
24
  super({
25
25
  name: "remote-interceptor",
26
26
  interceptors: [
27
- new (0, _chunk44QGFZITjs.ClientRequestInterceptor)(),
28
- new (0, _chunkJCWVLTP7js.XMLHttpRequestInterceptor)()
27
+ new (0, _chunkFWLJEVDWjs.ClientRequestInterceptor)(),
28
+ new (0, _chunkMEGFRRJIjs.XMLHttpRequestInterceptor)()
29
29
  ]
30
30
  });
31
31
  }
@@ -92,7 +92,7 @@ function requestReviver(key, value) {
92
92
  return value;
93
93
  }
94
94
  }
95
- var _RemoteHttpResolver = class extends _chunk3XFLRXRYjs.Interceptor {
95
+ var _RemoteHttpResolver = class extends _chunkUZM2Y7WJjs.Interceptor {
96
96
  constructor(options) {
97
97
  super(_RemoteHttpResolver.symbol);
98
98
  this.process = options.process;
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  BatchInterceptor
3
- } from "./chunk-UBEFEZXT.mjs";
3
+ } from "./chunk-LNYHQTKT.mjs";
4
4
  import {
5
5
  ClientRequestInterceptor
6
- } from "./chunk-Z7O2DO3X.mjs";
6
+ } from "./chunk-P4CPJLJS.mjs";
7
7
  import {
8
8
  XMLHttpRequestInterceptor
9
- } from "./chunk-FB53TMYN.mjs";
9
+ } from "./chunk-W2OZTHRV.mjs";
10
10
  import "./chunk-7II4SWKS.mjs";
11
11
  import "./chunk-3IYIKC3X.mjs";
12
12
  import "./chunk-GFH37L5D.mjs";
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-YQGTMMOZ.mjs";
17
17
  import {
18
18
  Interceptor
19
- } from "./chunk-GM3YBSM3.mjs";
19
+ } from "./chunk-JAW6F2FR.mjs";
20
20
 
21
21
  // src/RemoteHttpInterceptor.ts
22
22
  var RemoteHttpInterceptor = class extends BatchInterceptor {
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk3XFLRXRYjs = require('./chunk-3XFLRXRY.js');
3
+ var _chunkUZM2Y7WJjs = require('./chunk-UZM2Y7WJ.js');
4
4
 
5
5
  // src/BatchInterceptor.ts
6
- var BatchInterceptor = class extends _chunk3XFLRXRYjs.Interceptor {
6
+ var BatchInterceptor = class extends _chunkUZM2Y7WJjs.Interceptor {
7
7
  constructor(options) {
8
8
  BatchInterceptor.symbol = Symbol(options.name);
9
9
  super(BatchInterceptor.symbol);
@@ -8,7 +8,7 @@ var _chunkOGN3ZR35js = require('./chunk-OGN3ZR35.js');
8
8
  var _chunk5PTPJLB7js = require('./chunk-5PTPJLB7.js');
9
9
 
10
10
 
11
- var _chunk3XFLRXRYjs = require('./chunk-3XFLRXRY.js');
11
+ var _chunkUZM2Y7WJjs = require('./chunk-UZM2Y7WJ.js');
12
12
 
13
13
  // src/interceptors/ClientRequest/index.ts
14
14
  var _http = require('http'); var _http2 = _interopRequireDefault(_http);
@@ -167,12 +167,52 @@ function createRequest(clientRequest) {
167
167
  });
168
168
  }
169
169
 
170
+ // src/utils/getValueBySymbol.ts
171
+ function getValueBySymbol(symbolName, source) {
172
+ const ownSymbols = Object.getOwnPropertySymbols(source);
173
+ const symbol = ownSymbols.find((symbol2) => {
174
+ return symbol2.description === symbolName;
175
+ });
176
+ if (symbol) {
177
+ return Reflect.get(source, symbol);
178
+ }
179
+ return;
180
+ }
181
+
182
+ // src/utils/isObject.ts
183
+ function isObject(value) {
184
+ return Object.prototype.toString.call(value) === "[object Object]";
185
+ }
186
+
187
+ // src/utils/getRawFetchHeaders.ts
188
+ function getRawFetchHeaders(headers) {
189
+ const headersList = getValueBySymbol("headers list", headers);
190
+ if (!headersList) {
191
+ return;
192
+ }
193
+ const headersMap = getValueBySymbol("headers map", headersList);
194
+ if (!headersMap || !isHeadersMapWithRawHeaderNames(headersMap)) {
195
+ return;
196
+ }
197
+ const rawHeaders = /* @__PURE__ */ new Map();
198
+ headersMap.forEach(({ name, value }) => {
199
+ rawHeaders.set(name, value);
200
+ });
201
+ return rawHeaders;
202
+ }
203
+ function isHeadersMapWithRawHeaderNames(headersMap) {
204
+ return Array.from(
205
+ headersMap.values()
206
+ ).every((value) => {
207
+ return isObject(value) && "name" in value;
208
+ });
209
+ }
210
+
170
211
  // src/interceptors/ClientRequest/NodeClientRequest.ts
171
212
  var _NodeClientRequest = class extends _http.ClientRequest {
172
213
  constructor([url, requestOptions, callback], options) {
173
214
  super(requestOptions, callback);
174
215
  this.chunks = [];
175
- this.responseSource = "mock";
176
216
  this.logger = options.logger.extend(
177
217
  `request ${requestOptions.method} ${url.href}`
178
218
  );
@@ -181,6 +221,7 @@ var _NodeClientRequest = class extends _http.ClientRequest {
181
221
  requestOptions,
182
222
  callback
183
223
  });
224
+ this.state = 0 /* Idle */;
184
225
  this.url = url;
185
226
  this.emitter = options.emitter;
186
227
  this.requestBuffer = null;
@@ -219,6 +260,7 @@ var _NodeClientRequest = class extends _http.ClientRequest {
219
260
  const [chunk, encoding, callback] = normalizeClientRequestEndArgs(...args);
220
261
  this.logger.info("normalized arguments:", { chunk, encoding, callback });
221
262
  this.writeRequestBodyChunk(chunk, encoding || void 0);
263
+ this.state = 2 /* Sent */;
222
264
  const capturedRequest = createRequest(this);
223
265
  const { interactiveRequest, requestController } = _chunk5PTPJLB7js.toInteractiveRequest.call(void 0, capturedRequest);
224
266
  Object.defineProperty(capturedRequest, "respondWith", {
@@ -244,6 +286,7 @@ var _NodeClientRequest = class extends _http.ClientRequest {
244
286
  'emitting the "request" event for %d listener(s)...',
245
287
  this.emitter.listenerCount("request")
246
288
  );
289
+ this.state = 3 /* MockLookupStart */;
247
290
  await _chunk5PTPJLB7js.emitAsync.call(void 0, this.emitter, "request", {
248
291
  request: interactiveRequest,
249
292
  requestId
@@ -254,6 +297,7 @@ var _NodeClientRequest = class extends _http.ClientRequest {
254
297
  return mockedResponse;
255
298
  }).then((resolverResult) => {
256
299
  this.logger.info("the listeners promise awaited!");
300
+ this.state = 4 /* MockLookupEnd */;
257
301
  if (!this.headersSent) {
258
302
  for (const [headerName, headerValue] of capturedRequest.headers) {
259
303
  this.setHeader(headerName, headerValue);
@@ -286,7 +330,6 @@ var _NodeClientRequest = class extends _http.ClientRequest {
286
330
  return this;
287
331
  }
288
332
  const responseClone = mockedResponse.clone();
289
- this.responseSource = "mock";
290
333
  this.respondWith(mockedResponse);
291
334
  this.logger.info(
292
335
  mockedResponse.status,
@@ -342,12 +385,17 @@ var _NodeClientRequest = class extends _http.ClientRequest {
342
385
  const error = data[0];
343
386
  const errorCode = error.code || "";
344
387
  this.logger.info("error:\n", error);
345
- if (this.responseSource === "mock" && _NodeClientRequest.suppressErrorCodes.includes(errorCode)) {
346
- if (!this.capturedError) {
347
- this.capturedError = error;
348
- this.logger.info("captured the first error:", this.capturedError);
388
+ if (_NodeClientRequest.suppressErrorCodes.includes(errorCode)) {
389
+ if (this.state < 4 /* MockLookupEnd */) {
390
+ if (!this.capturedError) {
391
+ this.capturedError = error;
392
+ this.logger.info("captured the first error:", this.capturedError);
393
+ }
394
+ return false;
395
+ }
396
+ if (this.state === 5 /* ResponseReceived */ && this.responseType === "mock") {
397
+ return false;
349
398
  }
350
- return false;
351
399
  }
352
400
  }
353
401
  return super.emit(event, ...data);
@@ -359,7 +407,8 @@ var _NodeClientRequest = class extends _http.ClientRequest {
359
407
  * up the request with `super.end()`.
360
408
  */
361
409
  passthrough(chunk, encoding, callback) {
362
- this.responseSource = "bypass";
410
+ this.state = 5 /* ResponseReceived */;
411
+ this.responseType = "passthrough";
363
412
  if (this.capturedError) {
364
413
  this.emit("error", this.capturedError);
365
414
  return this;
@@ -390,6 +439,8 @@ var _NodeClientRequest = class extends _http.ClientRequest {
390
439
  */
391
440
  respondWith(mockedResponse) {
392
441
  this.logger.info("responding with a mocked response...", mockedResponse);
442
+ this.state = 5 /* ResponseReceived */;
443
+ this.responseType = "mock";
393
444
  Object.defineProperties(this, {
394
445
  writableFinished: { value: true },
395
446
  writableEnded: { value: true }
@@ -398,9 +449,10 @@ var _NodeClientRequest = class extends _http.ClientRequest {
398
449
  const { status, statusText, headers, body } = mockedResponse;
399
450
  this.response.statusCode = status;
400
451
  this.response.statusMessage = statusText;
401
- if (headers) {
452
+ const rawHeaders = getRawFetchHeaders(headers) || headers;
453
+ if (rawHeaders) {
402
454
  this.response.headers = {};
403
- headers.forEach((headerValue, headerName) => {
455
+ rawHeaders.forEach((headerValue, headerName) => {
404
456
  this.response.rawHeaders.push(headerName, headerValue);
405
457
  const insensitiveHeaderName = headerName.toLowerCase();
406
458
  const prevHeaders = this.response.headers[insensitiveHeaderName];
@@ -456,7 +508,9 @@ NodeClientRequest.suppressErrorCodes = [
456
508
  "ENOTFOUND",
457
509
  "ECONNREFUSED",
458
510
  "ECONNRESET",
459
- "EAI_AGAIN"
511
+ "EAI_AGAIN",
512
+ "ENETUNREACH",
513
+ "EHOSTUNREACH"
460
514
  ];
461
515
 
462
516
  // src/interceptors/ClientRequest/utils/normalizeClientRequestArgs.ts
@@ -616,11 +670,6 @@ function cloneObject(obj) {
616
670
  return isPlainObject(obj) ? enumerableProperties : Object.assign(Object.getPrototypeOf(obj), enumerableProperties);
617
671
  }
618
672
 
619
- // src/utils/isObject.ts
620
- function isObject(value) {
621
- return Object.prototype.toString.call(value) === "[object Object]";
622
- }
623
-
624
673
  // src/interceptors/ClientRequest/utils/normalizeClientRequestArgs.ts
625
674
  var logger5 = new (0, _logger.Logger)("http normalizeClientRequestArgs");
626
675
  function resolveRequestOptions(args, url) {
@@ -663,6 +712,11 @@ function normalizeClientRequestArgs(defaultProtocol, ...args) {
663
712
  let callback;
664
713
  logger5.info("arguments", args);
665
714
  logger5.info("using default protocol:", defaultProtocol);
715
+ if (args.length === 0) {
716
+ const url2 = new URL("http://localhost");
717
+ const options2 = resolveRequestOptions(args, url2);
718
+ return [url2, options2];
719
+ }
666
720
  if (typeof args[0] === "string") {
667
721
  logger5.info("first argument is a location string:", args[0]);
668
722
  url = new URL(args[0]);
@@ -767,7 +821,7 @@ function request(protocol, options) {
767
821
  }
768
822
 
769
823
  // src/interceptors/ClientRequest/index.ts
770
- var _ClientRequestInterceptor = class extends _chunk3XFLRXRYjs.Interceptor {
824
+ var _ClientRequestInterceptor = class extends _chunkUZM2Y7WJjs.Interceptor {
771
825
  constructor() {
772
826
  super(_ClientRequestInterceptor.interceptorSymbol);
773
827
  this.modules = /* @__PURE__ */ new Map();
@@ -91,7 +91,7 @@ var Interceptor = class {
91
91
  logger.info("cannot listen to events, already disposed!");
92
92
  return this;
93
93
  }
94
- logger.info('adding "%s" event listener:', event, listener.name);
94
+ logger.info('adding "%s" event listener:', event, listener);
95
95
  this.emitter.on(event, listener);
96
96
  return this;
97
97
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Interceptor
3
- } from "./chunk-GM3YBSM3.mjs";
3
+ } from "./chunk-JAW6F2FR.mjs";
4
4
 
5
5
  // src/BatchInterceptor.ts
6
6
  var BatchInterceptor = class extends Interceptor {
@@ -16,7 +16,7 @@ var _chunkVQ4DZOBBjs = require('./chunk-VQ4DZOBB.js');
16
16
  var _chunk5PTPJLB7js = require('./chunk-5PTPJLB7.js');
17
17
 
18
18
 
19
- var _chunk3XFLRXRYjs = require('./chunk-3XFLRXRY.js');
19
+ var _chunkUZM2Y7WJjs = require('./chunk-UZM2Y7WJ.js');
20
20
 
21
21
  // src/interceptors/XMLHttpRequest/index.ts
22
22
  var _outvariant = require('outvariant');
@@ -281,7 +281,7 @@ var XMLHttpRequestController = class {
281
281
  case "addEventListener": {
282
282
  const [eventName, listener] = args;
283
283
  this.registerEvent(eventName, listener);
284
- this.logger.info("addEventListener", eventName, listener.name);
284
+ this.logger.info("addEventListener", eventName, listener);
285
285
  return invoke();
286
286
  }
287
287
  case "setRequestHeader": {
@@ -344,7 +344,7 @@ var XMLHttpRequestController = class {
344
344
  const prevEvents = this.events.get(eventName) || [];
345
345
  const nextEvents = prevEvents.concat(listener);
346
346
  this.events.set(eventName, nextEvents);
347
- this.logger.info('registered event "%s"', eventName, listener.name);
347
+ this.logger.info('registered event "%s"', eventName, listener);
348
348
  }
349
349
  /**
350
350
  * Responds to the current request with the given
@@ -740,7 +740,7 @@ function createXMLHttpRequestProxy({
740
740
  }
741
741
 
742
742
  // src/interceptors/XMLHttpRequest/index.ts
743
- var _XMLHttpRequestInterceptor = class extends _chunk3XFLRXRYjs.Interceptor {
743
+ var _XMLHttpRequestInterceptor = class extends _chunkUZM2Y7WJjs.Interceptor {
744
744
  constructor() {
745
745
  super(_XMLHttpRequestInterceptor.interceptorSymbol);
746
746
  }