@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.
- package/lib/browser/{chunk-KITNLK66.js → chunk-ECJJD4T6.js} +5 -5
- package/lib/browser/{chunk-CWVY2E3W.js → chunk-G5ORGOKH.js} +1 -1
- package/lib/browser/{chunk-AN3YI76R.mjs → chunk-QOFKGEDX.mjs} +3 -3
- package/lib/browser/{chunk-QPMXOLDO.mjs → chunk-S72SKXXQ.mjs} +1 -1
- package/lib/browser/{chunk-FFBQOFWV.js → chunk-XFQ4KKVQ.js} +7 -7
- package/lib/browser/{chunk-HXJPKJY3.mjs → chunk-XIF5PZER.mjs} +1 -1
- package/lib/browser/index.js +3 -3
- package/lib/browser/index.mjs +1 -1
- package/lib/browser/interceptors/XMLHttpRequest/index.js +3 -3
- package/lib/browser/interceptors/XMLHttpRequest/index.mjs +2 -2
- package/lib/browser/interceptors/fetch/index.js +3 -3
- package/lib/browser/interceptors/fetch/index.mjs +2 -2
- package/lib/browser/presets/browser.js +5 -5
- package/lib/browser/presets/browser.mjs +3 -3
- package/lib/node/RemoteHttpInterceptor.js +8 -8
- package/lib/node/RemoteHttpInterceptor.mjs +4 -4
- package/lib/node/{chunk-UF7QIAQ5.js → chunk-AA4NWHDY.js} +2 -2
- package/lib/node/{chunk-44QGFZIT.js → chunk-FWLJEVDW.js} +72 -18
- package/lib/node/{chunk-GM3YBSM3.mjs → chunk-JAW6F2FR.mjs} +1 -1
- package/lib/node/{chunk-UBEFEZXT.mjs → chunk-LNYHQTKT.mjs} +1 -1
- package/lib/node/{chunk-JCWVLTP7.js → chunk-MEGFRRJI.js} +4 -4
- package/lib/node/{chunk-Z7O2DO3X.mjs → chunk-P4CPJLJS.mjs} +71 -17
- package/lib/node/{chunk-3XFLRXRY.js → chunk-UZM2Y7WJ.js} +1 -1
- package/lib/node/{chunk-FB53TMYN.mjs → chunk-W2OZTHRV.mjs} +3 -3
- package/lib/node/index.js +3 -3
- package/lib/node/index.mjs +2 -2
- package/lib/node/interceptors/ClientRequest/index.js +3 -3
- package/lib/node/interceptors/ClientRequest/index.mjs +2 -2
- package/lib/node/interceptors/XMLHttpRequest/index.js +3 -3
- package/lib/node/interceptors/XMLHttpRequest/index.mjs +2 -2
- package/lib/node/interceptors/fetch/index.js +2 -2
- package/lib/node/interceptors/fetch/index.mjs +1 -1
- package/lib/node/presets/node.js +5 -5
- package/lib/node/presets/node.mjs +3 -3
- package/package.json +1 -1
- package/src/Interceptor.ts +1 -1
- package/src/interceptors/ClientRequest/NodeClientRequest.test.ts +0 -106
- package/src/interceptors/ClientRequest/NodeClientRequest.ts +70 -21
- package/src/interceptors/ClientRequest/utils/normalizeClientRequestArgs.ts +10 -0
- package/src/interceptors/XMLHttpRequest/XMLHttpRequestController.ts +2 -2
- package/src/utils/getRawFetchHeaders.test.ts +50 -0
- package/src/utils/getRawFetchHeaders.ts +56 -0
- package/src/utils/getValueBySymbol.test.ts +14 -0
- 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
|
|
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
|
|
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[
|
|
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,
|
|
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,
|
|
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
|
|
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-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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[
|
|
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,
|
|
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,
|
|
770
|
+
Object.defineProperty(globalThis.XMLHttpRequest, _chunkG5ORGOKHjs.IS_PATCHED_MODULE, {
|
|
771
771
|
value: void 0
|
|
772
772
|
});
|
|
773
773
|
globalThis.XMLHttpRequest = PureXMLHttpRequest;
|
package/lib/browser/index.js
CHANGED
|
@@ -8,10 +8,10 @@ var _chunk3LFH2WCFjs = require('./chunk-3LFH2WCF.js');
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkG5ORGOKHjs = require('./chunk-G5ORGOKH.js');
|
|
12
12
|
|
|
13
13
|
// src/BatchInterceptor.ts
|
|
14
|
-
var BatchInterceptor = class extends
|
|
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 =
|
|
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;
|
package/lib/browser/index.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkXFQ4KKVQjs = require('../../chunk-XFQ4KKVQ.js');
|
|
4
4
|
require('../../chunk-3LFH2WCF.js');
|
|
5
5
|
require('../../chunk-X3NRJIZW.js');
|
|
6
|
-
require('../../chunk-
|
|
6
|
+
require('../../chunk-G5ORGOKH.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
exports.XMLHttpRequestInterceptor =
|
|
9
|
+
exports.XMLHttpRequestInterceptor = _chunkXFQ4KKVQjs.XMLHttpRequestInterceptor;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
XMLHttpRequestInterceptor
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-QOFKGEDX.mjs";
|
|
4
4
|
import "../../chunk-7II4SWKS.mjs";
|
|
5
5
|
import "../../chunk-KK6APRON.mjs";
|
|
6
|
-
import "../../chunk-
|
|
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
|
|
3
|
+
var _chunkECJJD4T6js = require('../../chunk-ECJJD4T6.js');
|
|
4
4
|
require('../../chunk-X3NRJIZW.js');
|
|
5
|
-
require('../../chunk-
|
|
5
|
+
require('../../chunk-G5ORGOKH.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
exports.FetchInterceptor =
|
|
8
|
+
exports.FetchInterceptor = _chunkECJJD4T6js.FetchInterceptor;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkXFQ4KKVQjs = require('../chunk-XFQ4KKVQ.js');
|
|
4
4
|
require('../chunk-3LFH2WCF.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkECJJD4T6js = require('../chunk-ECJJD4T6.js');
|
|
8
8
|
require('../chunk-X3NRJIZW.js');
|
|
9
|
-
require('../chunk-
|
|
9
|
+
require('../chunk-G5ORGOKH.js');
|
|
10
10
|
|
|
11
11
|
// src/presets/browser.ts
|
|
12
12
|
var browser_default = [
|
|
13
|
-
new (0,
|
|
14
|
-
new (0,
|
|
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-
|
|
3
|
+
} from "../chunk-QOFKGEDX.mjs";
|
|
4
4
|
import "../chunk-7II4SWKS.mjs";
|
|
5
5
|
import {
|
|
6
6
|
FetchInterceptor
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-XIF5PZER.mjs";
|
|
8
8
|
import "../chunk-KK6APRON.mjs";
|
|
9
|
-
import "../chunk-
|
|
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
|
|
3
|
+
var _chunkAA4NWHDYjs = require('./chunk-AA4NWHDY.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkFWLJEVDWjs = require('./chunk-FWLJEVDW.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
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
|
|
19
|
+
var _chunkUZM2Y7WJjs = require('./chunk-UZM2Y7WJ.js');
|
|
20
20
|
|
|
21
21
|
// src/RemoteHttpInterceptor.ts
|
|
22
|
-
var RemoteHttpInterceptor = class extends
|
|
22
|
+
var RemoteHttpInterceptor = class extends _chunkAA4NWHDYjs.BatchInterceptor {
|
|
23
23
|
constructor() {
|
|
24
24
|
super({
|
|
25
25
|
name: "remote-interceptor",
|
|
26
26
|
interceptors: [
|
|
27
|
-
new (0,
|
|
28
|
-
new (0,
|
|
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
|
|
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-
|
|
3
|
+
} from "./chunk-LNYHQTKT.mjs";
|
|
4
4
|
import {
|
|
5
5
|
ClientRequestInterceptor
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-P4CPJLJS.mjs";
|
|
7
7
|
import {
|
|
8
8
|
XMLHttpRequestInterceptor
|
|
9
|
-
} from "./chunk-
|
|
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-
|
|
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
|
|
3
|
+
var _chunkUZM2Y7WJjs = require('./chunk-UZM2Y7WJ.js');
|
|
4
4
|
|
|
5
5
|
// src/BatchInterceptor.ts
|
|
6
|
-
var BatchInterceptor = class extends
|
|
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
|
|
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 (
|
|
346
|
-
if (
|
|
347
|
-
this.capturedError
|
|
348
|
-
|
|
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.
|
|
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
|
-
|
|
452
|
+
const rawHeaders = getRawFetchHeaders(headers) || headers;
|
|
453
|
+
if (rawHeaders) {
|
|
402
454
|
this.response.headers = {};
|
|
403
|
-
|
|
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
|
|
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
|
|
94
|
+
logger.info('adding "%s" event listener:', event, listener);
|
|
95
95
|
this.emitter.on(event, listener);
|
|
96
96
|
return this;
|
|
97
97
|
}
|
|
@@ -16,7 +16,7 @@ var _chunkVQ4DZOBBjs = require('./chunk-VQ4DZOBB.js');
|
|
|
16
16
|
var _chunk5PTPJLB7js = require('./chunk-5PTPJLB7.js');
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
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
|
|
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
|
|
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
|
|
743
|
+
var _XMLHttpRequestInterceptor = class extends _chunkUZM2Y7WJjs.Interceptor {
|
|
744
744
|
constructor() {
|
|
745
745
|
super(_XMLHttpRequestInterceptor.interceptorSymbol);
|
|
746
746
|
}
|