@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.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
- async intercept(page, urlPattern, options = {}) {
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
- page.route(urlPattern, async (route) => {
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
- }).catch(reject);
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
- return racePromise;
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