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.mjs
CHANGED
|
@@ -272,11 +272,10 @@ function parseWorkerRequest(incomingRequest) {
|
|
|
272
272
|
|
|
273
273
|
// src/browser/setupWorker/start/createRequestListener.ts
|
|
274
274
|
import { RequestHandler } from '../core/handlers/RequestHandler.mjs';
|
|
275
|
-
import { HttpHandler } from '../core/handlers/HttpHandler.mjs';
|
|
276
|
-
import { GraphQLHandler } from '../core/handlers/GraphQLHandler.mjs';
|
|
277
275
|
import { handleRequest } from '../core/utils/handleRequest.mjs';
|
|
278
276
|
import { devUtils as devUtils4 } from '../core/utils/internal/devUtils.mjs';
|
|
279
277
|
import { toResponseInit } from '../core/utils/toResponseInit.mjs';
|
|
278
|
+
import { isHandlerKind } from '../core/utils/internal/isHandlerKind.mjs';
|
|
280
279
|
var createRequestListener = (context, options) => {
|
|
281
280
|
return async (event, message) => {
|
|
282
281
|
const messageChannel = new WorkerChannel(event.ports[0]);
|
|
@@ -290,9 +289,7 @@ var createRequestListener = (context, options) => {
|
|
|
290
289
|
await handleRequest(
|
|
291
290
|
request,
|
|
292
291
|
requestId,
|
|
293
|
-
context.getRequestHandlers().filter((
|
|
294
|
-
return handler instanceof HttpHandler || handler instanceof GraphQLHandler;
|
|
295
|
-
}),
|
|
292
|
+
context.getRequestHandlers().filter(isHandlerKind("RequestHandler")),
|
|
296
293
|
options,
|
|
297
294
|
context.emitter,
|
|
298
295
|
{
|
|
@@ -379,7 +376,7 @@ You can also automate this process and make the worker script update automatical
|
|
|
379
376
|
}
|
|
380
377
|
}
|
|
381
378
|
|
|
382
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.36.
|
|
379
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.36.10/node_modules/@mswjs/interceptors/lib/browser/chunk-6HYIRFX2.mjs
|
|
383
380
|
var encoder = new TextEncoder();
|
|
384
381
|
function encodeBuffer(text) {
|
|
385
382
|
return encoder.encode(text);
|
|
@@ -395,7 +392,7 @@ function toArrayBuffer(array) {
|
|
|
395
392
|
);
|
|
396
393
|
}
|
|
397
394
|
|
|
398
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.36.
|
|
395
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.36.10/node_modules/@mswjs/interceptors/lib/browser/chunk-6MOMO77R.mjs
|
|
399
396
|
var IS_PATCHED_MODULE = Symbol("isPatchedModule");
|
|
400
397
|
function isPropertyAccessible(obj, key) {
|
|
401
398
|
try {
|
|
@@ -881,7 +878,7 @@ var _Emitter = class {
|
|
|
881
878
|
var Emitter = _Emitter;
|
|
882
879
|
Emitter.defaultMaxListeners = 10;
|
|
883
880
|
|
|
884
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.36.
|
|
881
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.36.10/node_modules/@mswjs/interceptors/lib/browser/chunk-QED3Q6Z2.mjs
|
|
885
882
|
var INTERNAL_REQUEST_ID_HEADER_NAME = "x-interceptors-internal-request-id";
|
|
886
883
|
function getGlobalSymbol(symbol) {
|
|
887
884
|
return (
|
|
@@ -1029,7 +1026,7 @@ function createRequestId() {
|
|
|
1029
1026
|
return Math.random().toString(16).slice(2);
|
|
1030
1027
|
}
|
|
1031
1028
|
|
|
1032
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.36.
|
|
1029
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.36.10/node_modules/@mswjs/interceptors/lib/browser/index.mjs
|
|
1033
1030
|
var BatchInterceptor = class extends Interceptor {
|
|
1034
1031
|
constructor(options) {
|
|
1035
1032
|
BatchInterceptor.symbol = Symbol(options.name);
|
|
@@ -1315,7 +1312,7 @@ var DeferredPromise = class extends Promise {
|
|
|
1315
1312
|
}
|
|
1316
1313
|
};
|
|
1317
1314
|
|
|
1318
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.36.
|
|
1315
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.36.10/node_modules/@mswjs/interceptors/lib/browser/chunk-4RQHC4IY.mjs
|
|
1319
1316
|
var InterceptorError = class extends Error {
|
|
1320
1317
|
constructor(message) {
|
|
1321
1318
|
super(message);
|
|
@@ -1419,13 +1416,17 @@ async function handleRequest2(options) {
|
|
|
1419
1416
|
});
|
|
1420
1417
|
const requestAbortPromise = new DeferredPromise();
|
|
1421
1418
|
if (options.request.signal) {
|
|
1422
|
-
options.request.signal.
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1419
|
+
if (options.request.signal.aborted) {
|
|
1420
|
+
requestAbortPromise.reject(options.request.signal.reason);
|
|
1421
|
+
} else {
|
|
1422
|
+
options.request.signal.addEventListener(
|
|
1423
|
+
"abort",
|
|
1424
|
+
() => {
|
|
1425
|
+
requestAbortPromise.reject(options.request.signal.reason);
|
|
1426
|
+
},
|
|
1427
|
+
{ once: true }
|
|
1428
|
+
);
|
|
1429
|
+
}
|
|
1429
1430
|
}
|
|
1430
1431
|
const result = await until(async () => {
|
|
1431
1432
|
const requestListtenersPromise = emitAsync(options.emitter, "request", {
|
|
@@ -1483,7 +1484,28 @@ async function handleRequest2(options) {
|
|
|
1483
1484
|
return false;
|
|
1484
1485
|
}
|
|
1485
1486
|
|
|
1486
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.36.
|
|
1487
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.36.10/node_modules/@mswjs/interceptors/lib/browser/chunk-TX5GBTFY.mjs
|
|
1488
|
+
function hasConfigurableGlobal(propertyName) {
|
|
1489
|
+
const descriptor = Object.getOwnPropertyDescriptor(globalThis, propertyName);
|
|
1490
|
+
if (typeof descriptor === "undefined") {
|
|
1491
|
+
return false;
|
|
1492
|
+
}
|
|
1493
|
+
if (typeof descriptor.get === "function" && typeof descriptor.get() === "undefined") {
|
|
1494
|
+
return false;
|
|
1495
|
+
}
|
|
1496
|
+
if (typeof descriptor.get === "undefined" && descriptor.value == null) {
|
|
1497
|
+
return false;
|
|
1498
|
+
}
|
|
1499
|
+
if (typeof descriptor.set === "undefined" && !descriptor.configurable) {
|
|
1500
|
+
console.error(
|
|
1501
|
+
`[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.`
|
|
1502
|
+
);
|
|
1503
|
+
return false;
|
|
1504
|
+
}
|
|
1505
|
+
return true;
|
|
1506
|
+
}
|
|
1507
|
+
|
|
1508
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.36.10/node_modules/@mswjs/interceptors/lib/browser/chunk-VXLPKFY4.mjs
|
|
1487
1509
|
function canParseUrl(url) {
|
|
1488
1510
|
try {
|
|
1489
1511
|
new URL(url);
|
|
@@ -1558,12 +1580,78 @@ function sameOrigin(left, right) {
|
|
|
1558
1580
|
}
|
|
1559
1581
|
return false;
|
|
1560
1582
|
}
|
|
1583
|
+
var BrotliDecompressionStream = class extends TransformStream {
|
|
1584
|
+
constructor() {
|
|
1585
|
+
console.warn(
|
|
1586
|
+
"[Interceptors]: Brotli decompression of response streams is not supported in the browser"
|
|
1587
|
+
);
|
|
1588
|
+
super({
|
|
1589
|
+
transform(chunk, controller) {
|
|
1590
|
+
controller.enqueue(chunk);
|
|
1591
|
+
}
|
|
1592
|
+
});
|
|
1593
|
+
}
|
|
1594
|
+
};
|
|
1595
|
+
var PipelineStream = class extends TransformStream {
|
|
1596
|
+
constructor(transformStreams, ...strategies) {
|
|
1597
|
+
super({}, ...strategies);
|
|
1598
|
+
const readable = [super.readable, ...transformStreams].reduce(
|
|
1599
|
+
(readable2, transform) => readable2.pipeThrough(transform)
|
|
1600
|
+
);
|
|
1601
|
+
Object.defineProperty(this, "readable", {
|
|
1602
|
+
get() {
|
|
1603
|
+
return readable;
|
|
1604
|
+
}
|
|
1605
|
+
});
|
|
1606
|
+
}
|
|
1607
|
+
};
|
|
1608
|
+
function parseContentEncoding(contentEncoding) {
|
|
1609
|
+
return contentEncoding.toLowerCase().split(",").map((coding) => coding.trim());
|
|
1610
|
+
}
|
|
1611
|
+
function createDecompressionStream(contentEncoding) {
|
|
1612
|
+
if (contentEncoding === "") {
|
|
1613
|
+
return null;
|
|
1614
|
+
}
|
|
1615
|
+
const codings = parseContentEncoding(contentEncoding);
|
|
1616
|
+
if (codings.length === 0) {
|
|
1617
|
+
return null;
|
|
1618
|
+
}
|
|
1619
|
+
const transformers = codings.reduceRight(
|
|
1620
|
+
(transformers2, coding) => {
|
|
1621
|
+
if (coding === "gzip" || coding === "x-gzip") {
|
|
1622
|
+
return transformers2.concat(new DecompressionStream("gzip"));
|
|
1623
|
+
} else if (coding === "deflate") {
|
|
1624
|
+
return transformers2.concat(new DecompressionStream("deflate"));
|
|
1625
|
+
} else if (coding === "br") {
|
|
1626
|
+
return transformers2.concat(new BrotliDecompressionStream());
|
|
1627
|
+
} else {
|
|
1628
|
+
transformers2.length = 0;
|
|
1629
|
+
}
|
|
1630
|
+
return transformers2;
|
|
1631
|
+
},
|
|
1632
|
+
[]
|
|
1633
|
+
);
|
|
1634
|
+
return new PipelineStream(transformers);
|
|
1635
|
+
}
|
|
1636
|
+
function decompressResponse(response) {
|
|
1637
|
+
if (response.body === null) {
|
|
1638
|
+
return null;
|
|
1639
|
+
}
|
|
1640
|
+
const decompressionStream = createDecompressionStream(
|
|
1641
|
+
response.headers.get("content-encoding") || ""
|
|
1642
|
+
);
|
|
1643
|
+
if (!decompressionStream) {
|
|
1644
|
+
return null;
|
|
1645
|
+
}
|
|
1646
|
+
response.body.pipeTo(decompressionStream.writable);
|
|
1647
|
+
return decompressionStream.readable;
|
|
1648
|
+
}
|
|
1561
1649
|
var _FetchInterceptor = class extends Interceptor {
|
|
1562
1650
|
constructor() {
|
|
1563
1651
|
super(_FetchInterceptor.symbol);
|
|
1564
1652
|
}
|
|
1565
1653
|
checkEnvironment() {
|
|
1566
|
-
return
|
|
1654
|
+
return hasConfigurableGlobal("fetch");
|
|
1567
1655
|
}
|
|
1568
1656
|
async setup() {
|
|
1569
1657
|
const pureFetch = globalThis.fetch;
|
|
@@ -1588,10 +1676,12 @@ var _FetchInterceptor = class extends Interceptor {
|
|
|
1588
1676
|
requestId,
|
|
1589
1677
|
emitter: this.emitter,
|
|
1590
1678
|
controller,
|
|
1591
|
-
onResponse: async (
|
|
1679
|
+
onResponse: async (rawResponse) => {
|
|
1592
1680
|
this.logger.info("received mocked response!", {
|
|
1593
|
-
|
|
1681
|
+
rawResponse
|
|
1594
1682
|
});
|
|
1683
|
+
const decompressedStream = decompressResponse(rawResponse);
|
|
1684
|
+
const response = decompressedStream === null ? rawResponse : new Response(decompressedStream, rawResponse);
|
|
1595
1685
|
if (RESPONSE_STATUS_CODES_WITH_REDIRECT.has(response.status)) {
|
|
1596
1686
|
if (request.redirect === "error") {
|
|
1597
1687
|
responsePromise.reject(createNetworkError("unexpected redirect"));
|
|
@@ -1609,6 +1699,12 @@ var _FetchInterceptor = class extends Interceptor {
|
|
|
1609
1699
|
return;
|
|
1610
1700
|
}
|
|
1611
1701
|
}
|
|
1702
|
+
Object.defineProperty(response, "url", {
|
|
1703
|
+
writable: false,
|
|
1704
|
+
enumerable: true,
|
|
1705
|
+
configurable: false,
|
|
1706
|
+
value: request.url
|
|
1707
|
+
});
|
|
1612
1708
|
if (this.emitter.listenerCount("response") > 0) {
|
|
1613
1709
|
this.logger.info('emitting the "response" event...');
|
|
1614
1710
|
await emitAsync(this.emitter, "response", {
|
|
@@ -1621,12 +1717,6 @@ var _FetchInterceptor = class extends Interceptor {
|
|
|
1621
1717
|
requestId
|
|
1622
1718
|
});
|
|
1623
1719
|
}
|
|
1624
|
-
Object.defineProperty(response, "url", {
|
|
1625
|
-
writable: false,
|
|
1626
|
-
enumerable: true,
|
|
1627
|
-
configurable: false,
|
|
1628
|
-
value: request.url
|
|
1629
|
-
});
|
|
1630
1720
|
responsePromise.resolve(response);
|
|
1631
1721
|
},
|
|
1632
1722
|
onRequestError: (response) => {
|
|
@@ -1680,7 +1770,7 @@ var _FetchInterceptor = class extends Interceptor {
|
|
|
1680
1770
|
var FetchInterceptor = _FetchInterceptor;
|
|
1681
1771
|
FetchInterceptor.symbol = Symbol("fetch");
|
|
1682
1772
|
|
|
1683
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.36.
|
|
1773
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.36.10/node_modules/@mswjs/interceptors/lib/browser/chunk-MMAVIMED.mjs
|
|
1684
1774
|
function concatArrayBuffer(left, right) {
|
|
1685
1775
|
const result = new Uint8Array(left.byteLength + right.byteLength);
|
|
1686
1776
|
result.set(left, 0);
|
|
@@ -2427,7 +2517,7 @@ var _XMLHttpRequestInterceptor = class extends Interceptor {
|
|
|
2427
2517
|
super(_XMLHttpRequestInterceptor.interceptorSymbol);
|
|
2428
2518
|
}
|
|
2429
2519
|
checkEnvironment() {
|
|
2430
|
-
return
|
|
2520
|
+
return hasConfigurableGlobal("XMLHttpRequest");
|
|
2431
2521
|
}
|
|
2432
2522
|
setup() {
|
|
2433
2523
|
const logger = this.logger.extend("setup");
|
|
@@ -2467,6 +2557,7 @@ XMLHttpRequestInterceptor.interceptorSymbol = Symbol("xhr");
|
|
|
2467
2557
|
|
|
2468
2558
|
// src/browser/setupWorker/start/createFallbackRequestListener.ts
|
|
2469
2559
|
import { handleRequest as handleRequest3 } from '../core/utils/handleRequest.mjs';
|
|
2560
|
+
import { isHandlerKind as isHandlerKind2 } from '../core/utils/internal/isHandlerKind.mjs';
|
|
2470
2561
|
function createFallbackRequestListener(context, options) {
|
|
2471
2562
|
const interceptor = new BatchInterceptor({
|
|
2472
2563
|
name: "fallback",
|
|
@@ -2477,7 +2568,7 @@ function createFallbackRequestListener(context, options) {
|
|
|
2477
2568
|
const response = await handleRequest3(
|
|
2478
2569
|
request,
|
|
2479
2570
|
requestId,
|
|
2480
|
-
context.getRequestHandlers(),
|
|
2571
|
+
context.getRequestHandlers().filter(isHandlerKind2("RequestHandler")),
|
|
2481
2572
|
options,
|
|
2482
2573
|
context.emitter,
|
|
2483
2574
|
{
|