@skrillex1224/playwright-toolkit 2.1.92 → 2.1.94
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/dist/index.cjs +25 -4
- package/dist/index.cjs.map +2 -2
- package/dist/index.js +25 -4
- package/dist/index.js.map +2 -2
- package/index.d.ts +11 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1306,7 +1306,7 @@ var Sse = {
|
|
|
1306
1306
|
* @param {number} [options.timeout=180000] - 整体请求超时时间 (ms),默认 180s
|
|
1307
1307
|
* @returns {Promise<any>} - 返回 Promise,当流满足条件时 resolve
|
|
1308
1308
|
*/
|
|
1309
|
-
|
|
1309
|
+
intercept(page, urlPattern, options = {}) {
|
|
1310
1310
|
const {
|
|
1311
1311
|
onData,
|
|
1312
1312
|
onEnd,
|
|
@@ -1323,8 +1323,15 @@ var Sse = {
|
|
|
1323
1323
|
initialTimer = null;
|
|
1324
1324
|
overallTimer = null;
|
|
1325
1325
|
};
|
|
1326
|
+
let routeHandler = null;
|
|
1327
|
+
let isCancelled = false;
|
|
1326
1328
|
const workPromise = new Promise((resolve, reject) => {
|
|
1327
|
-
|
|
1329
|
+
routeHandler = async (route) => {
|
|
1330
|
+
if (isCancelled) {
|
|
1331
|
+
route.continue().catch(() => {
|
|
1332
|
+
});
|
|
1333
|
+
return;
|
|
1334
|
+
}
|
|
1328
1335
|
const request = route.request();
|
|
1329
1336
|
logger8.info(`[MITM] \u5DF2\u62E6\u622A\u8BF7\u6C42: ${request.url()}`);
|
|
1330
1337
|
try {
|
|
@@ -1398,7 +1405,8 @@ var Sse = {
|
|
|
1398
1405
|
});
|
|
1399
1406
|
reject(e);
|
|
1400
1407
|
}
|
|
1401
|
-
}
|
|
1408
|
+
};
|
|
1409
|
+
page.route(urlPattern, routeHandler).catch(reject);
|
|
1402
1410
|
});
|
|
1403
1411
|
const timeoutPromise = new Promise((_, reject) => {
|
|
1404
1412
|
initialTimer = setTimeout(() => {
|
|
@@ -1445,7 +1453,20 @@ var Sse = {
|
|
|
1445
1453
|
const racePromise = Promise.race([workPromise, timeoutPromise]);
|
|
1446
1454
|
racePromise.catch(() => {
|
|
1447
1455
|
});
|
|
1448
|
-
|
|
1456
|
+
const cancel = async () => {
|
|
1457
|
+
if (isCancelled) return;
|
|
1458
|
+
isCancelled = true;
|
|
1459
|
+
clearAllTimers();
|
|
1460
|
+
if (routeHandler) {
|
|
1461
|
+
try {
|
|
1462
|
+
await page.unroute(urlPattern, routeHandler);
|
|
1463
|
+
logger8.info("[MITM] \u5DF2\u53D6\u6D88 SSE \u6D41\u76D1\u542C");
|
|
1464
|
+
} catch (e) {
|
|
1465
|
+
logger8.debug("[MITM] \u53D6\u6D88\u76D1\u542C\u65F6\u51FA\u9519\uFF08\u53EF\u80FD\u5DF2\u53D6\u6D88\uFF09");
|
|
1466
|
+
}
|
|
1467
|
+
}
|
|
1468
|
+
};
|
|
1469
|
+
return [racePromise, cancel];
|
|
1449
1470
|
}
|
|
1450
1471
|
};
|
|
1451
1472
|
|