rezo 1.0.6 → 1.0.7
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/adapters/entries/curl.d.ts +75 -0
- package/dist/adapters/entries/fetch.d.ts +75 -0
- package/dist/adapters/entries/http.d.ts +75 -0
- package/dist/adapters/entries/http2.d.ts +75 -0
- package/dist/adapters/entries/react-native.d.ts +75 -0
- package/dist/adapters/entries/xhr.d.ts +75 -0
- package/dist/adapters/index.cjs +6 -6
- package/dist/cache/index.cjs +13 -13
- package/dist/core/hooks.cjs +2 -0
- package/dist/core/hooks.js +2 -0
- package/dist/crawler.d.ts +75 -0
- package/dist/entries/crawler.cjs +5 -5
- package/dist/index.cjs +23 -23
- package/dist/index.d.ts +75 -0
- package/dist/platform/browser.d.ts +75 -0
- package/dist/platform/bun.d.ts +75 -0
- package/dist/platform/deno.d.ts +75 -0
- package/dist/platform/node.d.ts +75 -0
- package/dist/platform/react-native.d.ts +75 -0
- package/dist/platform/worker.d.ts +75 -0
- package/dist/plugin/index.cjs +36 -36
- package/dist/proxy/index.cjs +2 -2
- package/dist/proxy/manager.cjs +43 -1
- package/dist/proxy/manager.js +43 -1
- package/dist/queue/index.cjs +8 -8
- package/package.json +1 -1
package/dist/proxy/manager.cjs
CHANGED
|
@@ -21,7 +21,8 @@ class ProxyManager {
|
|
|
21
21
|
beforeProxyDisable: [],
|
|
22
22
|
afterProxyDisable: [],
|
|
23
23
|
afterProxyRotate: [],
|
|
24
|
-
afterProxyEnable: []
|
|
24
|
+
afterProxyEnable: [],
|
|
25
|
+
onNoProxiesAvailable: []
|
|
25
26
|
};
|
|
26
27
|
constructor(config) {
|
|
27
28
|
const parsedProxies = [];
|
|
@@ -454,6 +455,47 @@ class ProxyManager {
|
|
|
454
455
|
}
|
|
455
456
|
}
|
|
456
457
|
}
|
|
458
|
+
runOnNoProxiesAvailableHooksSync(context) {
|
|
459
|
+
for (const hook of this.hooks.onNoProxiesAvailable) {
|
|
460
|
+
try {
|
|
461
|
+
hook(context);
|
|
462
|
+
} catch (error) {
|
|
463
|
+
console.error("[ProxyManager] onNoProxiesAvailable hook error:", error);
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
async runOnNoProxiesAvailableHooks(context) {
|
|
468
|
+
for (const hook of this.hooks.onNoProxiesAvailable) {
|
|
469
|
+
try {
|
|
470
|
+
await hook(context);
|
|
471
|
+
} catch (error) {
|
|
472
|
+
console.error("[ProxyManager] onNoProxiesAvailable hook error:", error);
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
notifyNoProxiesAvailable(url, error) {
|
|
477
|
+
const allProxies = Array.from(this.states.values());
|
|
478
|
+
const active = allProxies.filter((s) => s.isActive);
|
|
479
|
+
const disabled = allProxies.filter((s) => !s.isActive && !s.reenableAt);
|
|
480
|
+
const cooldown = allProxies.filter((s) => !s.isActive && s.reenableAt);
|
|
481
|
+
const disabledReasons = {
|
|
482
|
+
dead: allProxies.filter((s) => s.disabledReason === "dead").length,
|
|
483
|
+
limitReached: allProxies.filter((s) => s.disabledReason === "limit-reached").length,
|
|
484
|
+
manual: allProxies.filter((s) => s.disabledReason === "manual").length
|
|
485
|
+
};
|
|
486
|
+
const context = {
|
|
487
|
+
url,
|
|
488
|
+
error,
|
|
489
|
+
allProxies,
|
|
490
|
+
activeCount: active.length,
|
|
491
|
+
disabledCount: disabled.length,
|
|
492
|
+
cooldownCount: cooldown.length,
|
|
493
|
+
disabledReasons,
|
|
494
|
+
timestamp: Date.now()
|
|
495
|
+
};
|
|
496
|
+
this.runOnNoProxiesAvailableHooksSync(context);
|
|
497
|
+
return context;
|
|
498
|
+
}
|
|
457
499
|
}
|
|
458
500
|
|
|
459
501
|
exports.ProxyManager = ProxyManager;
|
package/dist/proxy/manager.js
CHANGED
|
@@ -21,7 +21,8 @@ export class ProxyManager {
|
|
|
21
21
|
beforeProxyDisable: [],
|
|
22
22
|
afterProxyDisable: [],
|
|
23
23
|
afterProxyRotate: [],
|
|
24
|
-
afterProxyEnable: []
|
|
24
|
+
afterProxyEnable: [],
|
|
25
|
+
onNoProxiesAvailable: []
|
|
25
26
|
};
|
|
26
27
|
constructor(config) {
|
|
27
28
|
const parsedProxies = [];
|
|
@@ -454,4 +455,45 @@ export class ProxyManager {
|
|
|
454
455
|
}
|
|
455
456
|
}
|
|
456
457
|
}
|
|
458
|
+
runOnNoProxiesAvailableHooksSync(context) {
|
|
459
|
+
for (const hook of this.hooks.onNoProxiesAvailable) {
|
|
460
|
+
try {
|
|
461
|
+
hook(context);
|
|
462
|
+
} catch (error) {
|
|
463
|
+
console.error("[ProxyManager] onNoProxiesAvailable hook error:", error);
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
async runOnNoProxiesAvailableHooks(context) {
|
|
468
|
+
for (const hook of this.hooks.onNoProxiesAvailable) {
|
|
469
|
+
try {
|
|
470
|
+
await hook(context);
|
|
471
|
+
} catch (error) {
|
|
472
|
+
console.error("[ProxyManager] onNoProxiesAvailable hook error:", error);
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
notifyNoProxiesAvailable(url, error) {
|
|
477
|
+
const allProxies = Array.from(this.states.values());
|
|
478
|
+
const active = allProxies.filter((s) => s.isActive);
|
|
479
|
+
const disabled = allProxies.filter((s) => !s.isActive && !s.reenableAt);
|
|
480
|
+
const cooldown = allProxies.filter((s) => !s.isActive && s.reenableAt);
|
|
481
|
+
const disabledReasons = {
|
|
482
|
+
dead: allProxies.filter((s) => s.disabledReason === "dead").length,
|
|
483
|
+
limitReached: allProxies.filter((s) => s.disabledReason === "limit-reached").length,
|
|
484
|
+
manual: allProxies.filter((s) => s.disabledReason === "manual").length
|
|
485
|
+
};
|
|
486
|
+
const context = {
|
|
487
|
+
url,
|
|
488
|
+
error,
|
|
489
|
+
allProxies,
|
|
490
|
+
activeCount: active.length,
|
|
491
|
+
disabledCount: disabled.length,
|
|
492
|
+
cooldownCount: cooldown.length,
|
|
493
|
+
disabledReasons,
|
|
494
|
+
timestamp: Date.now()
|
|
495
|
+
};
|
|
496
|
+
this.runOnNoProxiesAvailableHooksSync(context);
|
|
497
|
+
return context;
|
|
498
|
+
}
|
|
457
499
|
}
|
package/dist/queue/index.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const
|
|
2
|
-
exports.RezoQueue =
|
|
3
|
-
const
|
|
4
|
-
exports.HttpQueue =
|
|
5
|
-
exports.extractDomain =
|
|
6
|
-
const
|
|
7
|
-
exports.Priority =
|
|
8
|
-
exports.HttpMethodPriority =
|
|
1
|
+
const _mod_1hdvgg = require('./queue.cjs');
|
|
2
|
+
exports.RezoQueue = _mod_1hdvgg.RezoQueue;;
|
|
3
|
+
const _mod_89rege = require('./http-queue.cjs');
|
|
4
|
+
exports.HttpQueue = _mod_89rege.HttpQueue;
|
|
5
|
+
exports.extractDomain = _mod_89rege.extractDomain;;
|
|
6
|
+
const _mod_bw5pkd = require('./types.cjs');
|
|
7
|
+
exports.Priority = _mod_bw5pkd.Priority;
|
|
8
|
+
exports.HttpMethodPriority = _mod_bw5pkd.HttpMethodPriority;;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rezo",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "Lightning-fast, enterprise-grade HTTP client for modern JavaScript. Full HTTP/2 support, intelligent cookie management, multiple adapters (HTTP, Fetch, cURL, XHR), streaming, proxy support (HTTP/HTTPS/SOCKS), and cross-environment compatibility.",
|
|
5
5
|
"main": "dist/index.cjs",
|
|
6
6
|
"module": "dist/index.js",
|