msw 2.6.0 → 2.6.2
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/index.js +121 -30
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/index.mjs +121 -30
- package/lib/browser/index.mjs.map +1 -1
- package/lib/core/{GraphQLHandler-Doool6Q_.d.mts → GraphQLHandler-B6uni-E_.d.mts} +1 -1
- package/lib/core/{GraphQLHandler-udzgBRPf.d.ts → GraphQLHandler-Cjm7JNGi.d.ts} +1 -1
- package/lib/core/{HttpResponse-BLGmJolh.d.mts → HttpResponse-63H9vVoL.d.mts} +2 -1
- package/lib/core/{HttpResponse-Cgbkdkje.d.ts → HttpResponse-DzhqZzTK.d.ts} +2 -1
- package/lib/core/HttpResponse.d.mts +1 -1
- package/lib/core/HttpResponse.d.ts +1 -1
- package/lib/core/SetupApi.d.mts +1 -1
- package/lib/core/SetupApi.d.ts +1 -1
- package/lib/core/getResponse.d.mts +1 -1
- package/lib/core/getResponse.d.ts +1 -1
- package/lib/core/graphql.d.mts +2 -2
- package/lib/core/graphql.d.ts +2 -2
- package/lib/core/handlers/GraphQLHandler.d.mts +2 -2
- package/lib/core/handlers/GraphQLHandler.d.ts +2 -2
- package/lib/core/handlers/HttpHandler.d.mts +1 -1
- package/lib/core/handlers/HttpHandler.d.ts +1 -1
- package/lib/core/handlers/RequestHandler.d.mts +1 -1
- package/lib/core/handlers/RequestHandler.d.ts +1 -1
- package/lib/core/handlers/RequestHandler.js +2 -0
- package/lib/core/handlers/RequestHandler.js.map +1 -1
- package/lib/core/handlers/RequestHandler.mjs +2 -0
- package/lib/core/handlers/RequestHandler.mjs.map +1 -1
- package/lib/core/handlers/WebSocketHandler.d.mts +1 -0
- package/lib/core/handlers/WebSocketHandler.d.ts +1 -0
- package/lib/core/handlers/WebSocketHandler.js +2 -0
- package/lib/core/handlers/WebSocketHandler.js.map +1 -1
- package/lib/core/handlers/WebSocketHandler.mjs +2 -0
- package/lib/core/handlers/WebSocketHandler.mjs.map +1 -1
- package/lib/core/handlers/common.d.mts +3 -0
- package/lib/core/handlers/common.d.ts +3 -0
- package/lib/core/handlers/common.js +17 -0
- package/lib/core/handlers/common.js.map +1 -0
- package/lib/core/handlers/common.mjs +1 -0
- package/lib/core/handlers/common.mjs.map +1 -0
- package/lib/core/http.d.mts +1 -1
- package/lib/core/http.d.ts +1 -1
- package/lib/core/index.d.mts +2 -2
- package/lib/core/index.d.ts +2 -2
- package/lib/core/passthrough.d.mts +1 -1
- package/lib/core/passthrough.d.ts +1 -1
- package/lib/core/utils/HttpResponse/decorators.d.mts +1 -1
- package/lib/core/utils/HttpResponse/decorators.d.ts +1 -1
- package/lib/core/utils/executeHandlers.d.mts +1 -1
- package/lib/core/utils/executeHandlers.d.ts +1 -1
- package/lib/core/utils/executeHandlers.js +0 -4
- package/lib/core/utils/executeHandlers.js.map +1 -1
- package/lib/core/utils/executeHandlers.mjs +0 -6
- package/lib/core/utils/executeHandlers.mjs.map +1 -1
- package/lib/core/utils/handleRequest.d.mts +1 -1
- package/lib/core/utils/handleRequest.d.ts +1 -1
- package/lib/core/utils/internal/isHandlerKind.d.mts +17 -0
- package/lib/core/utils/internal/isHandlerKind.d.ts +17 -0
- package/lib/core/utils/internal/isHandlerKind.js +29 -0
- package/lib/core/utils/internal/isHandlerKind.js.map +1 -0
- package/lib/core/utils/internal/isHandlerKind.mjs +9 -0
- package/lib/core/utils/internal/isHandlerKind.mjs.map +1 -0
- package/lib/core/utils/internal/parseGraphQLRequest.d.mts +2 -2
- package/lib/core/utils/internal/parseGraphQLRequest.d.ts +2 -2
- package/lib/core/utils/internal/parseMultipartData.d.mts +1 -1
- package/lib/core/utils/internal/parseMultipartData.d.ts +1 -1
- package/lib/core/utils/internal/requestHandlerUtils.d.mts +1 -1
- package/lib/core/utils/internal/requestHandlerUtils.d.ts +1 -1
- package/lib/core/utils/request/getRequestCookies.js +12 -2
- package/lib/core/utils/request/getRequestCookies.js.map +1 -1
- package/lib/core/utils/request/getRequestCookies.mjs +12 -2
- package/lib/core/utils/request/getRequestCookies.mjs.map +1 -1
- package/lib/core/ws/handleWebSocketEvent.d.mts +1 -1
- package/lib/core/ws/handleWebSocketEvent.d.ts +1 -1
- package/lib/core/ws/handleWebSocketEvent.js +2 -1
- package/lib/core/ws/handleWebSocketEvent.js.map +1 -1
- package/lib/core/ws/handleWebSocketEvent.mjs +3 -2
- package/lib/core/ws/handleWebSocketEvent.mjs.map +1 -1
- package/lib/iife/index.js +216 -73
- package/lib/iife/index.js.map +1 -1
- package/lib/mockServiceWorker.js +1 -1
- package/lib/native/index.js +2 -5
- package/lib/native/index.js.map +1 -1
- package/lib/native/index.mjs +2 -5
- package/lib/native/index.mjs.map +1 -1
- package/lib/node/index.js +2 -5
- package/lib/node/index.js.map +1 -1
- package/lib/node/index.mjs +2 -5
- package/lib/node/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/browser/setupWorker/start/createFallbackRequestListener.ts +2 -1
- package/src/browser/setupWorker/start/createRequestListener.ts +2 -7
- package/src/core/handlers/RequestHandler.ts +4 -0
- package/src/core/handlers/WebSocketHandler.ts +4 -0
- package/src/core/handlers/common.ts +1 -0
- package/src/core/utils/executeHandlers.ts +1 -5
- package/src/core/utils/internal/isHandlerKind.test.ts +64 -0
- package/src/core/utils/internal/isHandlerKind.ts +21 -0
- package/src/core/utils/request/getRequestCookies.ts +15 -2
- package/src/core/ws/handleWebSocketEvent.ts +2 -1
- package/src/node/SetupServerCommonApi.ts +4 -8
package/lib/browser/index.js
CHANGED
|
@@ -299,11 +299,10 @@ function parseWorkerRequest(incomingRequest) {
|
|
|
299
299
|
|
|
300
300
|
// src/browser/setupWorker/start/createRequestListener.ts
|
|
301
301
|
var import_RequestHandler = require("../core/handlers/RequestHandler.js");
|
|
302
|
-
var import_HttpHandler = require("../core/handlers/HttpHandler.js");
|
|
303
|
-
var import_GraphQLHandler = require("../core/handlers/GraphQLHandler.js");
|
|
304
302
|
var import_handleRequest = require("../core/utils/handleRequest.js");
|
|
305
303
|
var import_devUtils4 = require("../core/utils/internal/devUtils.js");
|
|
306
304
|
var import_toResponseInit = require("../core/utils/toResponseInit.js");
|
|
305
|
+
var import_isHandlerKind = require("../core/utils/internal/isHandlerKind.js");
|
|
307
306
|
var createRequestListener = (context, options) => {
|
|
308
307
|
return async (event, message) => {
|
|
309
308
|
const messageChannel = new WorkerChannel(event.ports[0]);
|
|
@@ -317,9 +316,7 @@ var createRequestListener = (context, options) => {
|
|
|
317
316
|
await (0, import_handleRequest.handleRequest)(
|
|
318
317
|
request,
|
|
319
318
|
requestId,
|
|
320
|
-
context.getRequestHandlers().filter((
|
|
321
|
-
return handler instanceof import_HttpHandler.HttpHandler || handler instanceof import_GraphQLHandler.GraphQLHandler;
|
|
322
|
-
}),
|
|
319
|
+
context.getRequestHandlers().filter((0, import_isHandlerKind.isHandlerKind)("RequestHandler")),
|
|
323
320
|
options,
|
|
324
321
|
context.emitter,
|
|
325
322
|
{
|
|
@@ -406,7 +403,7 @@ You can also automate this process and make the worker script update automatical
|
|
|
406
403
|
}
|
|
407
404
|
}
|
|
408
405
|
|
|
409
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.36.
|
|
406
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.36.10/node_modules/@mswjs/interceptors/lib/browser/chunk-6HYIRFX2.mjs
|
|
410
407
|
var encoder = new TextEncoder();
|
|
411
408
|
function encodeBuffer(text) {
|
|
412
409
|
return encoder.encode(text);
|
|
@@ -422,7 +419,7 @@ function toArrayBuffer(array) {
|
|
|
422
419
|
);
|
|
423
420
|
}
|
|
424
421
|
|
|
425
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.36.
|
|
422
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.36.10/node_modules/@mswjs/interceptors/lib/browser/chunk-6MOMO77R.mjs
|
|
426
423
|
var IS_PATCHED_MODULE = Symbol("isPatchedModule");
|
|
427
424
|
function isPropertyAccessible(obj, key) {
|
|
428
425
|
try {
|
|
@@ -908,7 +905,7 @@ var _Emitter = class {
|
|
|
908
905
|
var Emitter = _Emitter;
|
|
909
906
|
Emitter.defaultMaxListeners = 10;
|
|
910
907
|
|
|
911
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.36.
|
|
908
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.36.10/node_modules/@mswjs/interceptors/lib/browser/chunk-QED3Q6Z2.mjs
|
|
912
909
|
var INTERNAL_REQUEST_ID_HEADER_NAME = "x-interceptors-internal-request-id";
|
|
913
910
|
function getGlobalSymbol(symbol) {
|
|
914
911
|
return (
|
|
@@ -1056,7 +1053,7 @@ function createRequestId() {
|
|
|
1056
1053
|
return Math.random().toString(16).slice(2);
|
|
1057
1054
|
}
|
|
1058
1055
|
|
|
1059
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.36.
|
|
1056
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.36.10/node_modules/@mswjs/interceptors/lib/browser/index.mjs
|
|
1060
1057
|
var BatchInterceptor = class extends Interceptor {
|
|
1061
1058
|
constructor(options) {
|
|
1062
1059
|
BatchInterceptor.symbol = Symbol(options.name);
|
|
@@ -1342,7 +1339,7 @@ var DeferredPromise = class extends Promise {
|
|
|
1342
1339
|
}
|
|
1343
1340
|
};
|
|
1344
1341
|
|
|
1345
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.36.
|
|
1342
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.36.10/node_modules/@mswjs/interceptors/lib/browser/chunk-4RQHC4IY.mjs
|
|
1346
1343
|
var InterceptorError = class extends Error {
|
|
1347
1344
|
constructor(message) {
|
|
1348
1345
|
super(message);
|
|
@@ -1446,13 +1443,17 @@ async function handleRequest2(options) {
|
|
|
1446
1443
|
});
|
|
1447
1444
|
const requestAbortPromise = new DeferredPromise();
|
|
1448
1445
|
if (options.request.signal) {
|
|
1449
|
-
options.request.signal.
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1446
|
+
if (options.request.signal.aborted) {
|
|
1447
|
+
requestAbortPromise.reject(options.request.signal.reason);
|
|
1448
|
+
} else {
|
|
1449
|
+
options.request.signal.addEventListener(
|
|
1450
|
+
"abort",
|
|
1451
|
+
() => {
|
|
1452
|
+
requestAbortPromise.reject(options.request.signal.reason);
|
|
1453
|
+
},
|
|
1454
|
+
{ once: true }
|
|
1455
|
+
);
|
|
1456
|
+
}
|
|
1456
1457
|
}
|
|
1457
1458
|
const result = await until(async () => {
|
|
1458
1459
|
const requestListtenersPromise = emitAsync(options.emitter, "request", {
|
|
@@ -1510,7 +1511,28 @@ async function handleRequest2(options) {
|
|
|
1510
1511
|
return false;
|
|
1511
1512
|
}
|
|
1512
1513
|
|
|
1513
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.36.
|
|
1514
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.36.10/node_modules/@mswjs/interceptors/lib/browser/chunk-TX5GBTFY.mjs
|
|
1515
|
+
function hasConfigurableGlobal(propertyName) {
|
|
1516
|
+
const descriptor = Object.getOwnPropertyDescriptor(globalThis, propertyName);
|
|
1517
|
+
if (typeof descriptor === "undefined") {
|
|
1518
|
+
return false;
|
|
1519
|
+
}
|
|
1520
|
+
if (typeof descriptor.get === "function" && typeof descriptor.get() === "undefined") {
|
|
1521
|
+
return false;
|
|
1522
|
+
}
|
|
1523
|
+
if (typeof descriptor.get === "undefined" && descriptor.value == null) {
|
|
1524
|
+
return false;
|
|
1525
|
+
}
|
|
1526
|
+
if (typeof descriptor.set === "undefined" && !descriptor.configurable) {
|
|
1527
|
+
console.error(
|
|
1528
|
+
`[MSW] Failed to apply interceptor: the global \`${propertyName}\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`
|
|
1529
|
+
);
|
|
1530
|
+
return false;
|
|
1531
|
+
}
|
|
1532
|
+
return true;
|
|
1533
|
+
}
|
|
1534
|
+
|
|
1535
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.36.10/node_modules/@mswjs/interceptors/lib/browser/chunk-VXLPKFY4.mjs
|
|
1514
1536
|
function canParseUrl(url) {
|
|
1515
1537
|
try {
|
|
1516
1538
|
new URL(url);
|
|
@@ -1585,12 +1607,78 @@ function sameOrigin(left, right) {
|
|
|
1585
1607
|
}
|
|
1586
1608
|
return false;
|
|
1587
1609
|
}
|
|
1610
|
+
var BrotliDecompressionStream = class extends TransformStream {
|
|
1611
|
+
constructor() {
|
|
1612
|
+
console.warn(
|
|
1613
|
+
"[Interceptors]: Brotli decompression of response streams is not supported in the browser"
|
|
1614
|
+
);
|
|
1615
|
+
super({
|
|
1616
|
+
transform(chunk, controller) {
|
|
1617
|
+
controller.enqueue(chunk);
|
|
1618
|
+
}
|
|
1619
|
+
});
|
|
1620
|
+
}
|
|
1621
|
+
};
|
|
1622
|
+
var PipelineStream = class extends TransformStream {
|
|
1623
|
+
constructor(transformStreams, ...strategies) {
|
|
1624
|
+
super({}, ...strategies);
|
|
1625
|
+
const readable = [super.readable, ...transformStreams].reduce(
|
|
1626
|
+
(readable2, transform) => readable2.pipeThrough(transform)
|
|
1627
|
+
);
|
|
1628
|
+
Object.defineProperty(this, "readable", {
|
|
1629
|
+
get() {
|
|
1630
|
+
return readable;
|
|
1631
|
+
}
|
|
1632
|
+
});
|
|
1633
|
+
}
|
|
1634
|
+
};
|
|
1635
|
+
function parseContentEncoding(contentEncoding) {
|
|
1636
|
+
return contentEncoding.toLowerCase().split(",").map((coding) => coding.trim());
|
|
1637
|
+
}
|
|
1638
|
+
function createDecompressionStream(contentEncoding) {
|
|
1639
|
+
if (contentEncoding === "") {
|
|
1640
|
+
return null;
|
|
1641
|
+
}
|
|
1642
|
+
const codings = parseContentEncoding(contentEncoding);
|
|
1643
|
+
if (codings.length === 0) {
|
|
1644
|
+
return null;
|
|
1645
|
+
}
|
|
1646
|
+
const transformers = codings.reduceRight(
|
|
1647
|
+
(transformers2, coding) => {
|
|
1648
|
+
if (coding === "gzip" || coding === "x-gzip") {
|
|
1649
|
+
return transformers2.concat(new DecompressionStream("gzip"));
|
|
1650
|
+
} else if (coding === "deflate") {
|
|
1651
|
+
return transformers2.concat(new DecompressionStream("deflate"));
|
|
1652
|
+
} else if (coding === "br") {
|
|
1653
|
+
return transformers2.concat(new BrotliDecompressionStream());
|
|
1654
|
+
} else {
|
|
1655
|
+
transformers2.length = 0;
|
|
1656
|
+
}
|
|
1657
|
+
return transformers2;
|
|
1658
|
+
},
|
|
1659
|
+
[]
|
|
1660
|
+
);
|
|
1661
|
+
return new PipelineStream(transformers);
|
|
1662
|
+
}
|
|
1663
|
+
function decompressResponse(response) {
|
|
1664
|
+
if (response.body === null) {
|
|
1665
|
+
return null;
|
|
1666
|
+
}
|
|
1667
|
+
const decompressionStream = createDecompressionStream(
|
|
1668
|
+
response.headers.get("content-encoding") || ""
|
|
1669
|
+
);
|
|
1670
|
+
if (!decompressionStream) {
|
|
1671
|
+
return null;
|
|
1672
|
+
}
|
|
1673
|
+
response.body.pipeTo(decompressionStream.writable);
|
|
1674
|
+
return decompressionStream.readable;
|
|
1675
|
+
}
|
|
1588
1676
|
var _FetchInterceptor = class extends Interceptor {
|
|
1589
1677
|
constructor() {
|
|
1590
1678
|
super(_FetchInterceptor.symbol);
|
|
1591
1679
|
}
|
|
1592
1680
|
checkEnvironment() {
|
|
1593
|
-
return
|
|
1681
|
+
return hasConfigurableGlobal("fetch");
|
|
1594
1682
|
}
|
|
1595
1683
|
async setup() {
|
|
1596
1684
|
const pureFetch = globalThis.fetch;
|
|
@@ -1615,10 +1703,12 @@ var _FetchInterceptor = class extends Interceptor {
|
|
|
1615
1703
|
requestId,
|
|
1616
1704
|
emitter: this.emitter,
|
|
1617
1705
|
controller,
|
|
1618
|
-
onResponse: async (
|
|
1706
|
+
onResponse: async (rawResponse) => {
|
|
1619
1707
|
this.logger.info("received mocked response!", {
|
|
1620
|
-
|
|
1708
|
+
rawResponse
|
|
1621
1709
|
});
|
|
1710
|
+
const decompressedStream = decompressResponse(rawResponse);
|
|
1711
|
+
const response = decompressedStream === null ? rawResponse : new Response(decompressedStream, rawResponse);
|
|
1622
1712
|
if (RESPONSE_STATUS_CODES_WITH_REDIRECT.has(response.status)) {
|
|
1623
1713
|
if (request.redirect === "error") {
|
|
1624
1714
|
responsePromise.reject(createNetworkError("unexpected redirect"));
|
|
@@ -1636,6 +1726,12 @@ var _FetchInterceptor = class extends Interceptor {
|
|
|
1636
1726
|
return;
|
|
1637
1727
|
}
|
|
1638
1728
|
}
|
|
1729
|
+
Object.defineProperty(response, "url", {
|
|
1730
|
+
writable: false,
|
|
1731
|
+
enumerable: true,
|
|
1732
|
+
configurable: false,
|
|
1733
|
+
value: request.url
|
|
1734
|
+
});
|
|
1639
1735
|
if (this.emitter.listenerCount("response") > 0) {
|
|
1640
1736
|
this.logger.info('emitting the "response" event...');
|
|
1641
1737
|
await emitAsync(this.emitter, "response", {
|
|
@@ -1648,12 +1744,6 @@ var _FetchInterceptor = class extends Interceptor {
|
|
|
1648
1744
|
requestId
|
|
1649
1745
|
});
|
|
1650
1746
|
}
|
|
1651
|
-
Object.defineProperty(response, "url", {
|
|
1652
|
-
writable: false,
|
|
1653
|
-
enumerable: true,
|
|
1654
|
-
configurable: false,
|
|
1655
|
-
value: request.url
|
|
1656
|
-
});
|
|
1657
1747
|
responsePromise.resolve(response);
|
|
1658
1748
|
},
|
|
1659
1749
|
onRequestError: (response) => {
|
|
@@ -1707,7 +1797,7 @@ var _FetchInterceptor = class extends Interceptor {
|
|
|
1707
1797
|
var FetchInterceptor = _FetchInterceptor;
|
|
1708
1798
|
FetchInterceptor.symbol = Symbol("fetch");
|
|
1709
1799
|
|
|
1710
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.36.
|
|
1800
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.36.10/node_modules/@mswjs/interceptors/lib/browser/chunk-MMAVIMED.mjs
|
|
1711
1801
|
function concatArrayBuffer(left, right) {
|
|
1712
1802
|
const result = new Uint8Array(left.byteLength + right.byteLength);
|
|
1713
1803
|
result.set(left, 0);
|
|
@@ -2454,7 +2544,7 @@ var _XMLHttpRequestInterceptor = class extends Interceptor {
|
|
|
2454
2544
|
super(_XMLHttpRequestInterceptor.interceptorSymbol);
|
|
2455
2545
|
}
|
|
2456
2546
|
checkEnvironment() {
|
|
2457
|
-
return
|
|
2547
|
+
return hasConfigurableGlobal("XMLHttpRequest");
|
|
2458
2548
|
}
|
|
2459
2549
|
setup() {
|
|
2460
2550
|
const logger = this.logger.extend("setup");
|
|
@@ -2494,6 +2584,7 @@ XMLHttpRequestInterceptor.interceptorSymbol = Symbol("xhr");
|
|
|
2494
2584
|
|
|
2495
2585
|
// src/browser/setupWorker/start/createFallbackRequestListener.ts
|
|
2496
2586
|
var import_handleRequest2 = require("../core/utils/handleRequest.js");
|
|
2587
|
+
var import_isHandlerKind2 = require("../core/utils/internal/isHandlerKind.js");
|
|
2497
2588
|
function createFallbackRequestListener(context, options) {
|
|
2498
2589
|
const interceptor = new BatchInterceptor({
|
|
2499
2590
|
name: "fallback",
|
|
@@ -2504,7 +2595,7 @@ function createFallbackRequestListener(context, options) {
|
|
|
2504
2595
|
const response = await (0, import_handleRequest2.handleRequest)(
|
|
2505
2596
|
request,
|
|
2506
2597
|
requestId,
|
|
2507
|
-
context.getRequestHandlers(),
|
|
2598
|
+
context.getRequestHandlers().filter((0, import_isHandlerKind2.isHandlerKind)("RequestHandler")),
|
|
2508
2599
|
options,
|
|
2509
2600
|
context.emitter,
|
|
2510
2601
|
{
|