msw 2.3.0-ws.rc-5 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/init.js +0 -0
- package/config/scripts/postinstall.js +0 -0
- package/lib/browser/index.d.mts +6 -7
- package/lib/browser/index.d.ts +6 -7
- package/lib/browser/index.js +156 -81
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/index.mjs +156 -81
- package/lib/browser/index.mjs.map +1 -1
- package/lib/core/{GraphQLHandler-DGyzNtRQ.d.ts → GraphQLHandler-COiPfZ8k.d.ts} +1 -1
- package/lib/core/{GraphQLHandler-CzcXr7At.d.mts → GraphQLHandler-Dq_WRbKe.d.mts} +1 -1
- package/lib/core/{HttpResponse-BOzDwzB6.d.ts → HttpResponse-B07UKAkU.d.ts} +2 -2
- package/lib/core/{HttpResponse-CSyJ1cbO.d.mts → HttpResponse-C7niBMwb.d.mts} +2 -2
- package/lib/core/HttpResponse.d.mts +1 -1
- package/lib/core/HttpResponse.d.ts +1 -1
- package/lib/core/SetupApi.d.mts +12 -15
- package/lib/core/SetupApi.d.ts +12 -15
- package/lib/core/SetupApi.js +1 -3
- package/lib/core/SetupApi.js.map +1 -1
- package/lib/core/SetupApi.mjs +1 -3
- package/lib/core/SetupApi.mjs.map +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/http.d.mts +1 -1
- package/lib/core/http.d.ts +1 -1
- package/lib/core/index.d.mts +2 -5
- package/lib/core/index.d.ts +2 -5
- package/lib/core/index.js +1 -5
- package/lib/core/index.js.map +1 -1
- package/lib/core/index.mjs +1 -7
- package/lib/core/index.mjs.map +1 -1
- 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 +2 -2
- package/lib/core/utils/handleRequest.d.ts +2 -2
- package/lib/core/utils/handleRequest.js.map +1 -1
- package/lib/core/utils/handleRequest.mjs.map +1 -1
- package/lib/core/utils/internal/Disposable.d.mts +2 -2
- package/lib/core/utils/internal/Disposable.d.ts +2 -2
- package/lib/core/utils/internal/Disposable.js +5 -2
- package/lib/core/utils/internal/Disposable.js.map +1 -1
- package/lib/core/utils/internal/Disposable.mjs +5 -2
- package/lib/core/utils/internal/Disposable.mjs.map +1 -1
- package/lib/core/utils/internal/devUtils.d.mts +10 -1
- package/lib/core/utils/internal/devUtils.d.ts +10 -1
- package/lib/core/utils/internal/devUtils.js +7 -0
- package/lib/core/utils/internal/devUtils.js.map +1 -1
- package/lib/core/utils/internal/devUtils.mjs +7 -0
- package/lib/core/utils/internal/devUtils.mjs.map +1 -1
- 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/logging/getTimestamp.d.mts +1 -4
- package/lib/core/utils/logging/getTimestamp.d.ts +1 -4
- package/lib/core/utils/logging/getTimestamp.js +2 -6
- package/lib/core/utils/logging/getTimestamp.js.map +1 -1
- package/lib/core/utils/logging/getTimestamp.mjs +2 -6
- package/lib/core/utils/logging/getTimestamp.mjs.map +1 -1
- package/lib/core/utils/matching/matchRequestUrl.d.mts +1 -2
- package/lib/core/utils/matching/matchRequestUrl.d.ts +1 -2
- package/lib/core/utils/matching/matchRequestUrl.js +0 -4
- package/lib/core/utils/matching/matchRequestUrl.js.map +1 -1
- package/lib/core/utils/matching/matchRequestUrl.mjs +0 -4
- package/lib/core/utils/matching/matchRequestUrl.mjs.map +1 -1
- package/lib/core/utils/request/onUnhandledRequest.js +3 -3
- package/lib/core/utils/request/onUnhandledRequest.js.map +1 -1
- package/lib/core/utils/request/onUnhandledRequest.mjs +4 -4
- package/lib/core/utils/request/onUnhandledRequest.mjs.map +1 -1
- package/lib/iife/index.js +177 -1063
- package/lib/iife/index.js.map +1 -1
- package/lib/mockServiceWorker.js +1 -1
- package/lib/native/index.d.mts +5 -6
- package/lib/native/index.d.ts +5 -6
- package/lib/native/index.js +5 -13
- package/lib/native/index.js.map +1 -1
- package/lib/native/index.mjs +6 -14
- package/lib/native/index.mjs.map +1 -1
- package/lib/node/index.d.mts +7 -8
- package/lib/node/index.d.ts +7 -8
- package/lib/node/index.js +5 -13
- package/lib/node/index.js.map +1 -1
- package/lib/node/index.mjs +6 -14
- package/lib/node/index.mjs.map +1 -1
- package/package.json +36 -29
- package/src/browser/setupWorker/glossary.ts +10 -10
- package/src/browser/setupWorker/setupWorker.ts +3 -34
- package/src/core/SetupApi.ts +20 -28
- package/src/core/index.ts +1 -8
- package/src/core/utils/executeHandlers.ts +2 -6
- package/src/core/utils/handleRequest.ts +2 -1
- package/src/core/utils/internal/Disposable.ts +6 -3
- package/src/core/utils/internal/devUtils.test.ts +21 -0
- package/src/core/utils/internal/devUtils.ts +13 -0
- package/src/core/utils/logging/getTimestamp.test.ts +6 -20
- package/src/core/utils/logging/getTimestamp.ts +6 -11
- package/src/core/utils/matching/matchRequestUrl.test.ts +0 -44
- package/src/core/utils/matching/matchRequestUrl.ts +0 -4
- package/src/core/utils/request/onUnhandledRequest.test.ts +30 -4
- package/src/core/utils/request/onUnhandledRequest.ts +4 -4
- package/src/node/SetupServerApi.ts +7 -8
- package/src/node/SetupServerCommonApi.ts +8 -15
- package/src/node/glossary.ts +7 -5
- package/src/node/setupServer.ts +1 -2
- package/lib/core/handlers/WebSocketHandler.d.mts +0 -32
- package/lib/core/handlers/WebSocketHandler.d.ts +0 -32
- package/lib/core/handlers/WebSocketHandler.js +0 -62
- package/lib/core/handlers/WebSocketHandler.js.map +0 -1
- package/lib/core/handlers/WebSocketHandler.mjs +0 -44
- package/lib/core/handlers/WebSocketHandler.mjs.map +0 -1
- package/lib/core/ws/WebSocketClientManager.d.mts +0 -64
- package/lib/core/ws/WebSocketClientManager.d.ts +0 -64
- package/lib/core/ws/WebSocketClientManager.js +0 -123
- package/lib/core/ws/WebSocketClientManager.js.map +0 -1
- package/lib/core/ws/WebSocketClientManager.mjs +0 -103
- package/lib/core/ws/WebSocketClientManager.mjs.map +0 -1
- package/lib/core/ws/handleWebSocketEvent.d.mts +0 -16
- package/lib/core/ws/handleWebSocketEvent.d.ts +0 -16
- package/lib/core/ws/handleWebSocketEvent.js +0 -56
- package/lib/core/ws/handleWebSocketEvent.js.map +0 -1
- package/lib/core/ws/handleWebSocketEvent.mjs +0 -36
- package/lib/core/ws/handleWebSocketEvent.mjs.map +0 -1
- package/lib/core/ws/utils/attachWebSocketLogger.d.mts +0 -34
- package/lib/core/ws/utils/attachWebSocketLogger.d.ts +0 -34
- package/lib/core/ws/utils/attachWebSocketLogger.js +0 -217
- package/lib/core/ws/utils/attachWebSocketLogger.js.map +0 -1
- package/lib/core/ws/utils/attachWebSocketLogger.mjs +0 -197
- package/lib/core/ws/utils/attachWebSocketLogger.mjs.map +0 -1
- package/lib/core/ws/utils/getMessageLength.d.mts +0 -11
- package/lib/core/ws/utils/getMessageLength.d.ts +0 -11
- package/lib/core/ws/utils/getMessageLength.js +0 -33
- package/lib/core/ws/utils/getMessageLength.js.map +0 -1
- package/lib/core/ws/utils/getMessageLength.mjs +0 -13
- package/lib/core/ws/utils/getMessageLength.mjs.map +0 -1
- package/lib/core/ws/utils/getPublicData.d.mts +0 -5
- package/lib/core/ws/utils/getPublicData.d.ts +0 -5
- package/lib/core/ws/utils/getPublicData.js +0 -36
- package/lib/core/ws/utils/getPublicData.js.map +0 -1
- package/lib/core/ws/utils/getPublicData.mjs +0 -16
- package/lib/core/ws/utils/getPublicData.mjs.map +0 -1
- package/lib/core/ws/utils/truncateMessage.d.mts +0 -3
- package/lib/core/ws/utils/truncateMessage.d.ts +0 -3
- package/lib/core/ws/utils/truncateMessage.js +0 -31
- package/lib/core/ws/utils/truncateMessage.js.map +0 -1
- package/lib/core/ws/utils/truncateMessage.mjs +0 -11
- package/lib/core/ws/utils/truncateMessage.mjs.map +0 -1
- package/lib/core/ws/webSocketInterceptor.d.mts +0 -5
- package/lib/core/ws/webSocketInterceptor.d.ts +0 -5
- package/lib/core/ws/webSocketInterceptor.js +0 -26
- package/lib/core/ws/webSocketInterceptor.js.map +0 -1
- package/lib/core/ws/webSocketInterceptor.mjs +0 -6
- package/lib/core/ws/webSocketInterceptor.mjs.map +0 -1
- package/lib/core/ws.d.mts +0 -49
- package/lib/core/ws.d.ts +0 -49
- package/lib/core/ws.js +0 -63
- package/lib/core/ws.js.map +0 -1
- package/lib/core/ws.mjs +0 -46
- package/lib/core/ws.mjs.map +0 -1
- package/src/core/handlers/WebSocketHandler.ts +0 -71
- package/src/core/ws/WebSocketClientManager.test.ts +0 -159
- package/src/core/ws/WebSocketClientManager.ts +0 -170
- package/src/core/ws/handleWebSocketEvent.ts +0 -56
- package/src/core/ws/utils/attachWebSocketLogger.ts +0 -269
- package/src/core/ws/utils/getMessageLength.test.ts +0 -16
- package/src/core/ws/utils/getMessageLength.ts +0 -19
- package/src/core/ws/utils/getPublicData.test.ts +0 -38
- package/src/core/ws/utils/getPublicData.ts +0 -17
- package/src/core/ws/utils/truncateMessage.test.ts +0 -12
- package/src/core/ws/utils/truncateMessage.ts +0 -9
- package/src/core/ws/webSocketInterceptor.ts +0 -3
- package/src/core/ws.test.ts +0 -23
- package/src/core/ws.ts +0 -122
package/lib/browser/index.mjs
CHANGED
|
@@ -370,7 +370,7 @@ You can also automate this process and make the worker script update automatical
|
|
|
370
370
|
}
|
|
371
371
|
}
|
|
372
372
|
|
|
373
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.
|
|
373
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.29.0/node_modules/@mswjs/interceptors/lib/browser/chunk-6HYIRFX2.mjs
|
|
374
374
|
var encoder = new TextEncoder();
|
|
375
375
|
function encodeBuffer(text) {
|
|
376
376
|
return encoder.encode(text);
|
|
@@ -385,6 +385,17 @@ function toArrayBuffer(array) {
|
|
|
385
385
|
array.byteOffset + array.byteLength
|
|
386
386
|
);
|
|
387
387
|
}
|
|
388
|
+
|
|
389
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.29.0/node_modules/@mswjs/interceptors/lib/browser/chunk-OMISYKWR.mjs
|
|
390
|
+
var IS_PATCHED_MODULE = Symbol("isPatchedModule");
|
|
391
|
+
function isPropertyAccessible(obj, key) {
|
|
392
|
+
try {
|
|
393
|
+
obj[key];
|
|
394
|
+
return true;
|
|
395
|
+
} catch (e) {
|
|
396
|
+
return false;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
388
399
|
var RESPONSE_STATUS_CODES_WITHOUT_BODY = /* @__PURE__ */ new Set([
|
|
389
400
|
101,
|
|
390
401
|
103,
|
|
@@ -395,9 +406,27 @@ var RESPONSE_STATUS_CODES_WITHOUT_BODY = /* @__PURE__ */ new Set([
|
|
|
395
406
|
function isResponseWithoutBody(status) {
|
|
396
407
|
return RESPONSE_STATUS_CODES_WITHOUT_BODY.has(status);
|
|
397
408
|
}
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
409
|
+
function createServerErrorResponse(body) {
|
|
410
|
+
return new Response(
|
|
411
|
+
JSON.stringify(
|
|
412
|
+
body instanceof Error ? {
|
|
413
|
+
name: body.name,
|
|
414
|
+
message: body.message,
|
|
415
|
+
stack: body.stack
|
|
416
|
+
} : body
|
|
417
|
+
),
|
|
418
|
+
{
|
|
419
|
+
status: 500,
|
|
420
|
+
statusText: "Unhandled Exception",
|
|
421
|
+
headers: {
|
|
422
|
+
"Content-Type": "application/json"
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
);
|
|
426
|
+
}
|
|
427
|
+
function isResponseError(response) {
|
|
428
|
+
return isPropertyAccessible(response, "type") && response.type === "error";
|
|
429
|
+
}
|
|
401
430
|
|
|
402
431
|
// node_modules/.pnpm/@open-draft+logger@0.3.0/node_modules/@open-draft/logger/lib/index.mjs
|
|
403
432
|
var __defProp = Object.defineProperty;
|
|
@@ -836,7 +865,7 @@ var _Emitter = class {
|
|
|
836
865
|
var Emitter = _Emitter;
|
|
837
866
|
Emitter.defaultMaxListeners = 10;
|
|
838
867
|
|
|
839
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.
|
|
868
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.29.0/node_modules/@mswjs/interceptors/lib/browser/chunk-QED3Q6Z2.mjs
|
|
840
869
|
var INTERNAL_REQUEST_ID_HEADER_NAME = "x-interceptors-internal-request-id";
|
|
841
870
|
function getGlobalSymbol(symbol) {
|
|
842
871
|
return (
|
|
@@ -984,7 +1013,7 @@ function createRequestId() {
|
|
|
984
1013
|
return Math.random().toString(16).slice(2);
|
|
985
1014
|
}
|
|
986
1015
|
|
|
987
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.
|
|
1016
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.29.0/node_modules/@mswjs/interceptors/lib/browser/index.mjs
|
|
988
1017
|
var BatchInterceptor = class extends Interceptor {
|
|
989
1018
|
constructor(options) {
|
|
990
1019
|
BatchInterceptor.symbol = Symbol(options.name);
|
|
@@ -1268,7 +1297,7 @@ var DeferredPromise = class extends Promise {
|
|
|
1268
1297
|
}
|
|
1269
1298
|
};
|
|
1270
1299
|
|
|
1271
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.
|
|
1300
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.29.0/node_modules/@mswjs/interceptors/lib/browser/chunk-OUWBQF3Z.mjs
|
|
1272
1301
|
var RequestController = class {
|
|
1273
1302
|
constructor(request) {
|
|
1274
1303
|
this.request = request;
|
|
@@ -1306,15 +1335,7 @@ async function emitAsync(emitter, eventName, ...data) {
|
|
|
1306
1335
|
}
|
|
1307
1336
|
}
|
|
1308
1337
|
|
|
1309
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.
|
|
1310
|
-
function isPropertyAccessible(obj, key) {
|
|
1311
|
-
try {
|
|
1312
|
-
obj[key];
|
|
1313
|
-
return true;
|
|
1314
|
-
} catch (e) {
|
|
1315
|
-
return false;
|
|
1316
|
-
}
|
|
1317
|
-
}
|
|
1338
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.29.0/node_modules/@mswjs/interceptors/lib/browser/chunk-MAEPOYB6.mjs
|
|
1318
1339
|
function canParseUrl(url) {
|
|
1319
1340
|
try {
|
|
1320
1341
|
new URL(url);
|
|
@@ -1367,64 +1388,113 @@ var _FetchInterceptor = class extends Interceptor {
|
|
|
1367
1388
|
{ once: true }
|
|
1368
1389
|
);
|
|
1369
1390
|
}
|
|
1370
|
-
const
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1391
|
+
const responsePromise = new DeferredPromise();
|
|
1392
|
+
const respondWith = (response) => {
|
|
1393
|
+
this.logger.info("responding with a mock response:", response);
|
|
1394
|
+
if (this.emitter.listenerCount("response") > 0) {
|
|
1395
|
+
this.logger.info('emitting the "response" event...');
|
|
1396
|
+
const responseClone = response.clone();
|
|
1397
|
+
this.emitter.emit("response", {
|
|
1398
|
+
response: responseClone,
|
|
1399
|
+
isMockedResponse: true,
|
|
1400
|
+
request: interactiveRequest,
|
|
1401
|
+
requestId
|
|
1402
|
+
});
|
|
1403
|
+
}
|
|
1404
|
+
Object.defineProperty(response, "url", {
|
|
1405
|
+
writable: false,
|
|
1406
|
+
enumerable: true,
|
|
1407
|
+
configurable: false,
|
|
1408
|
+
value: request.url
|
|
1374
1409
|
});
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1410
|
+
responsePromise.resolve(response);
|
|
1411
|
+
};
|
|
1412
|
+
const errorWith = (reason) => {
|
|
1413
|
+
responsePromise.reject(reason);
|
|
1414
|
+
};
|
|
1415
|
+
const resolverResult = await until(
|
|
1416
|
+
async () => {
|
|
1417
|
+
const listenersFinished = emitAsync(this.emitter, "request", {
|
|
1418
|
+
request: interactiveRequest,
|
|
1419
|
+
requestId
|
|
1420
|
+
});
|
|
1421
|
+
await Promise.race([
|
|
1422
|
+
requestAborted,
|
|
1423
|
+
// Put the listeners invocation Promise in the same race condition
|
|
1424
|
+
// with the request abort Promise because otherwise awaiting the listeners
|
|
1425
|
+
// would always yield some response (or undefined).
|
|
1426
|
+
listenersFinished,
|
|
1427
|
+
requestController.responsePromise
|
|
1428
|
+
]);
|
|
1429
|
+
this.logger.info("all request listeners have been resolved!");
|
|
1430
|
+
const mockedResponse2 = await requestController.responsePromise;
|
|
1431
|
+
this.logger.info("event.respondWith called with:", mockedResponse2);
|
|
1432
|
+
return mockedResponse2;
|
|
1433
|
+
}
|
|
1434
|
+
);
|
|
1388
1435
|
if (requestAborted.state === "rejected") {
|
|
1389
|
-
|
|
1436
|
+
this.logger.info(
|
|
1437
|
+
"request has been aborted:",
|
|
1438
|
+
requestAborted.rejectionReason
|
|
1439
|
+
);
|
|
1440
|
+
responsePromise.reject(requestAborted.rejectionReason);
|
|
1441
|
+
return responsePromise;
|
|
1390
1442
|
}
|
|
1391
1443
|
if (resolverResult.error) {
|
|
1392
|
-
|
|
1444
|
+
this.logger.info(
|
|
1445
|
+
"request listerner threw an error:",
|
|
1446
|
+
resolverResult.error
|
|
1447
|
+
);
|
|
1448
|
+
if (resolverResult.error instanceof Response) {
|
|
1449
|
+
if (isResponseError(resolverResult.error)) {
|
|
1450
|
+
errorWith(createNetworkError(resolverResult.error));
|
|
1451
|
+
} else {
|
|
1452
|
+
respondWith(resolverResult.error);
|
|
1453
|
+
}
|
|
1454
|
+
}
|
|
1455
|
+
if (this.emitter.listenerCount("unhandledException") > 0) {
|
|
1456
|
+
await emitAsync(this.emitter, "unhandledException", {
|
|
1457
|
+
error: resolverResult.error,
|
|
1458
|
+
request,
|
|
1459
|
+
requestId,
|
|
1460
|
+
controller: {
|
|
1461
|
+
respondWith,
|
|
1462
|
+
errorWith
|
|
1463
|
+
}
|
|
1464
|
+
});
|
|
1465
|
+
if (responsePromise.state !== "pending") {
|
|
1466
|
+
return responsePromise;
|
|
1467
|
+
}
|
|
1468
|
+
}
|
|
1469
|
+
respondWith(createServerErrorResponse(resolverResult.error));
|
|
1470
|
+
return responsePromise;
|
|
1393
1471
|
}
|
|
1394
1472
|
const mockedResponse = resolverResult.data;
|
|
1395
1473
|
if (mockedResponse && !((_a = request.signal) == null ? void 0 : _a.aborted)) {
|
|
1396
1474
|
this.logger.info("received mocked response:", mockedResponse);
|
|
1397
|
-
if (
|
|
1475
|
+
if (isResponseError(mockedResponse)) {
|
|
1398
1476
|
this.logger.info(
|
|
1399
1477
|
"received a network error response, rejecting the request promise..."
|
|
1400
1478
|
);
|
|
1401
|
-
|
|
1479
|
+
errorWith(createNetworkError(mockedResponse));
|
|
1480
|
+
} else {
|
|
1481
|
+
respondWith(mockedResponse);
|
|
1402
1482
|
}
|
|
1403
|
-
|
|
1404
|
-
this.emitter.emit("response", {
|
|
1405
|
-
response: responseClone,
|
|
1406
|
-
isMockedResponse: true,
|
|
1407
|
-
request: interactiveRequest,
|
|
1408
|
-
requestId
|
|
1409
|
-
});
|
|
1410
|
-
Object.defineProperty(mockedResponse, "url", {
|
|
1411
|
-
writable: false,
|
|
1412
|
-
enumerable: true,
|
|
1413
|
-
configurable: false,
|
|
1414
|
-
value: request.url
|
|
1415
|
-
});
|
|
1416
|
-
return mockedResponse;
|
|
1483
|
+
return responsePromise;
|
|
1417
1484
|
}
|
|
1418
1485
|
this.logger.info("no mocked response received!");
|
|
1419
1486
|
return pureFetch(request).then((response) => {
|
|
1420
|
-
|
|
1421
|
-
this.
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1487
|
+
this.logger.info("original fetch performed", response);
|
|
1488
|
+
if (this.emitter.listenerCount("response") > 0) {
|
|
1489
|
+
this.logger.info('emitting the "response" event...');
|
|
1490
|
+
const responseClone = response.clone();
|
|
1491
|
+
this.emitter.emit("response", {
|
|
1492
|
+
response: responseClone,
|
|
1493
|
+
isMockedResponse: false,
|
|
1494
|
+
request: interactiveRequest,
|
|
1495
|
+
requestId
|
|
1496
|
+
});
|
|
1497
|
+
}
|
|
1428
1498
|
return response;
|
|
1429
1499
|
});
|
|
1430
1500
|
};
|
|
@@ -1453,7 +1523,7 @@ function createNetworkError(cause) {
|
|
|
1453
1523
|
});
|
|
1454
1524
|
}
|
|
1455
1525
|
|
|
1456
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.
|
|
1526
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.29.0/node_modules/@mswjs/interceptors/lib/browser/chunk-732REFPX.mjs
|
|
1457
1527
|
function concatArrayBuffer(left, right) {
|
|
1458
1528
|
const result = new Uint8Array(left.byteLength + right.byteLength);
|
|
1459
1529
|
result.set(left, 0);
|
|
@@ -2104,7 +2174,31 @@ function createXMLHttpRequestProxy({
|
|
|
2104
2174
|
"request listener threw an exception, aborting request...",
|
|
2105
2175
|
resolverResult.error
|
|
2106
2176
|
);
|
|
2107
|
-
|
|
2177
|
+
if (resolverResult.error instanceof Response) {
|
|
2178
|
+
if (isResponseError(resolverResult.error)) {
|
|
2179
|
+
xhrRequestController.errorWith(new TypeError("Network error"));
|
|
2180
|
+
} else {
|
|
2181
|
+
this.respondWith(resolverResult.error);
|
|
2182
|
+
}
|
|
2183
|
+
return;
|
|
2184
|
+
}
|
|
2185
|
+
if (emitter.listenerCount("unhandledException") > 0) {
|
|
2186
|
+
await emitAsync(emitter, "unhandledException", {
|
|
2187
|
+
error: resolverResult.error,
|
|
2188
|
+
request,
|
|
2189
|
+
requestId,
|
|
2190
|
+
controller: {
|
|
2191
|
+
respondWith: xhrRequestController.respondWith.bind(xhrRequestController),
|
|
2192
|
+
errorWith: xhrRequestController.errorWith.bind(xhrRequestController)
|
|
2193
|
+
}
|
|
2194
|
+
});
|
|
2195
|
+
if (originalRequest.readyState > XMLHttpRequest.OPENED) {
|
|
2196
|
+
return;
|
|
2197
|
+
}
|
|
2198
|
+
}
|
|
2199
|
+
xhrRequestController.respondWith(
|
|
2200
|
+
createServerErrorResponse(resolverResult.error)
|
|
2201
|
+
);
|
|
2108
2202
|
return;
|
|
2109
2203
|
}
|
|
2110
2204
|
const mockedResponse = resolverResult.data;
|
|
@@ -2114,7 +2208,7 @@ function createXMLHttpRequestProxy({
|
|
|
2114
2208
|
mockedResponse.status,
|
|
2115
2209
|
mockedResponse.statusText
|
|
2116
2210
|
);
|
|
2117
|
-
if (mockedResponse
|
|
2211
|
+
if (isResponseError(mockedResponse)) {
|
|
2118
2212
|
this.logger.info(
|
|
2119
2213
|
"received a network error response, rejecting the request promise..."
|
|
2120
2214
|
);
|
|
@@ -2285,9 +2379,6 @@ function supportsReadableStreamTransfer() {
|
|
|
2285
2379
|
}
|
|
2286
2380
|
|
|
2287
2381
|
// src/browser/setupWorker/setupWorker.ts
|
|
2288
|
-
import { webSocketInterceptor } from '../core/ws/webSocketInterceptor.mjs';
|
|
2289
|
-
import { handleWebSocketEvent } from '../core/ws/handleWebSocketEvent.mjs';
|
|
2290
|
-
import { attachWebSocketLogger } from '../core/ws/utils/attachWebSocketLogger.mjs';
|
|
2291
2382
|
var SetupWorkerApi = class extends SetupApi {
|
|
2292
2383
|
context;
|
|
2293
2384
|
startHandler = null;
|
|
@@ -2403,22 +2494,6 @@ var SetupWorkerApi = class extends SetupApi {
|
|
|
2403
2494
|
DEFAULT_START_OPTIONS,
|
|
2404
2495
|
options
|
|
2405
2496
|
);
|
|
2406
|
-
handleWebSocketEvent({
|
|
2407
|
-
getHandlers: () => {
|
|
2408
|
-
return this.handlersController.currentHandlers();
|
|
2409
|
-
},
|
|
2410
|
-
onMockedConnection: (connection) => {
|
|
2411
|
-
if (!this.context.startOptions.quiet) {
|
|
2412
|
-
attachWebSocketLogger(connection);
|
|
2413
|
-
}
|
|
2414
|
-
},
|
|
2415
|
-
onPassthroughConnection() {
|
|
2416
|
-
}
|
|
2417
|
-
});
|
|
2418
|
-
webSocketInterceptor.apply();
|
|
2419
|
-
this.subscriptions.push(() => {
|
|
2420
|
-
webSocketInterceptor.dispose();
|
|
2421
|
-
});
|
|
2422
2497
|
return await this.startHandler(this.context.startOptions, options);
|
|
2423
2498
|
}
|
|
2424
2499
|
stop() {
|