rezo 1.0.58 → 1.0.60

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.
@@ -1,6 +1,6 @@
1
- const _mod_ronpz5 = require('./picker.cjs');
2
- exports.detectRuntime = _mod_ronpz5.detectRuntime;
3
- exports.getAdapterCapabilities = _mod_ronpz5.getAdapterCapabilities;
4
- exports.buildAdapterContext = _mod_ronpz5.buildAdapterContext;
5
- exports.getAvailableAdapters = _mod_ronpz5.getAvailableAdapters;
6
- exports.selectAdapter = _mod_ronpz5.selectAdapter;;
1
+ const _mod_nokt0c = require('./picker.cjs');
2
+ exports.detectRuntime = _mod_nokt0c.detectRuntime;
3
+ exports.getAdapterCapabilities = _mod_nokt0c.getAdapterCapabilities;
4
+ exports.buildAdapterContext = _mod_nokt0c.buildAdapterContext;
5
+ exports.getAvailableAdapters = _mod_nokt0c.getAvailableAdapters;
6
+ exports.selectAdapter = _mod_nokt0c.selectAdapter;;
@@ -1,9 +1,9 @@
1
- const _mod_ea4mgu = require('./lru-cache.cjs');
2
- exports.LRUCache = _mod_ea4mgu.LRUCache;;
3
- const _mod_9o2noq = require('./dns-cache.cjs');
4
- exports.DNSCache = _mod_9o2noq.DNSCache;
5
- exports.getGlobalDNSCache = _mod_9o2noq.getGlobalDNSCache;
6
- exports.resetGlobalDNSCache = _mod_9o2noq.resetGlobalDNSCache;;
7
- const _mod_jow0hp = require('./response-cache.cjs');
8
- exports.ResponseCache = _mod_jow0hp.ResponseCache;
9
- exports.normalizeResponseCacheConfig = _mod_jow0hp.normalizeResponseCacheConfig;;
1
+ const _mod_7oe5nv = require('./lru-cache.cjs');
2
+ exports.LRUCache = _mod_7oe5nv.LRUCache;;
3
+ const _mod_eq897z = require('./dns-cache.cjs');
4
+ exports.DNSCache = _mod_eq897z.DNSCache;
5
+ exports.getGlobalDNSCache = _mod_eq897z.getGlobalDNSCache;
6
+ exports.resetGlobalDNSCache = _mod_eq897z.resetGlobalDNSCache;;
7
+ const _mod_g6t5mx = require('./response-cache.cjs');
8
+ exports.ResponseCache = _mod_g6t5mx.ResponseCache;
9
+ exports.normalizeResponseCacheConfig = _mod_g6t5mx.normalizeResponseCacheConfig;;
@@ -1 +1 @@
1
- var{Rezo:p}=require("../../../core/rezo.cjs"),a=require("./options.cjs");exports.OXYLABS_BROWSER_TYPES=a.OXYLABS_BROWSER_TYPES;exports.OXYLABS_COMMON_LOCALES=a.OXYLABS_COMMON_LOCALES;exports.OXYLABS_COMMON_GEO_LOCATIONS=a.OXYLABS_COMMON_GEO_LOCATIONS;exports.OXYLABS_US_STATES=a.OXYLABS_US_STATES;exports.OXYLABS_EUROPEAN_COUNTRIES=a.OXYLABS_EUROPEAN_COUNTRIES;exports.OXYLABS_ASIAN_COUNTRIES=a.OXYLABS_ASIAN_COUNTRIES;exports.getRandomBrowserType=a.getRandomBrowserType;exports.getRandomLocale=a.getRandomLocale;exports.getRandomGeoLocation=a.getRandomGeoLocation;var c="https://realtime.oxylabs.io/v1/queries";class u{config;http;authHeader;constructor(e){if(!e.username||!e.password)throw Error("Oxylabs username and password are required");this.config={username:e.username,password:e.password,browserType:e.browserType??"desktop",locale:e.locale??"en-US",geoLocation:e.geoLocation??"",render:e.render??!1,context:e.context??{},timeout:e.timeout??120000},this.http=new p({baseURL:c,timeout:this.config.timeout}),this.authHeader=`Basic ${Buffer.from(`${e.username}:${e.password}`).toString("base64")}`}async scrape(e,t){let r={...this.config,...t},s=this.buildRequestBody(e,r),o=(await this.http.postJson(c,s,{headers:{Authorization:this.authHeader,"Content-Type":"application/json"}})).data;if(o.error)throw Error(`Oxylabs API error: ${o.error}`);if(!o.results||o.results.length===0)throw Error("Oxylabs API returned no results");let n=o.results[0],d=n._response?.cookies||[],l=n._response?.headers||{};return{statusCode:n.status_code,url:n.url,content:n.content,cookies:d,headers:l,jobId:o.job_id||n.job_id,rendered:r.render,geoLocation:r.geoLocation||void 0,locale:r.locale,browserType:r.browserType,raw:o}}async scrapeMany(e,t,r=1000){let s=[];for(let i=0;i<e.length;i++){let o=await this.scrape(e[i],t);if(s.push(o),i<e.length-1&&r>0)await new Promise((n)=>setTimeout(n,r))}return s}buildRequestBody(e,t){let r=[];if(r.push({key:"return_page_cookies",value:!0}),r.push({key:"return_page_headers",value:!0}),t.context)for(let[i,o]of Object.entries(t.context))r.push({key:i,value:o});let s={source:"universal",url:e,context:r};if(t.render)s.render="html";if(t.browserType)s.user_agent_type=t.browserType;if(t.locale)s.locale=t.locale;if(t.geoLocation)s.geo_location=t.geoLocation;return s}getConfig(){return{...this.config,password:"***"}}withConfig(e){return new u({...this.config,...e})}async testConnection(){try{return await this.scrape("https://httpbin.org/ip"),!0}catch(e){throw Error(`Oxylabs connection test failed: ${e.message}`)}}}exports.Oxylabs=u;exports.default=u;module.exports=Object.assign(u,exports);
1
+ var{Rezo:h}=require("../../../core/rezo.cjs"),a=require("./options.cjs");exports.OXYLABS_BROWSER_TYPES=a.OXYLABS_BROWSER_TYPES;exports.OXYLABS_COMMON_LOCALES=a.OXYLABS_COMMON_LOCALES;exports.OXYLABS_COMMON_GEO_LOCATIONS=a.OXYLABS_COMMON_GEO_LOCATIONS;exports.OXYLABS_US_STATES=a.OXYLABS_US_STATES;exports.OXYLABS_EUROPEAN_COUNTRIES=a.OXYLABS_EUROPEAN_COUNTRIES;exports.OXYLABS_ASIAN_COUNTRIES=a.OXYLABS_ASIAN_COUNTRIES;exports.getRandomBrowserType=a.getRandomBrowserType;exports.getRandomLocale=a.getRandomLocale;exports.getRandomGeoLocation=a.getRandomGeoLocation;var c="https://realtime.oxylabs.io/v1/queries";class u{config;http;authHeader;constructor(e){if(!e.username||!e.password)throw Error("Oxylabs username and password are required");this.config={username:e.username,password:e.password,browserType:e.browserType??"desktop",locale:e.locale??"en-US",geoLocation:e.geoLocation??"",render:e.render??!1,context:e.context??{},timeout:e.timeout??120000},this.http=new h({baseURL:c,timeout:this.config.timeout}),this.authHeader=`Basic ${Buffer.from(`${e.username}:${e.password}`).toString("base64")}`}async scrape(e,t){let r={...this.config,...t},s=this.buildRequestBody(e,r),o=(await this.http.postJson(c,s,{headers:{Authorization:this.authHeader,"Content-Type":"application/json"}})).data;if(o.error)throw Error(`Oxylabs API error: ${o.error}`);if(!o.results||o.results.length===0)throw Error("Oxylabs API returned no results");let n=o.results[0],d=n._response?.cookies||[],l=n._response?.headers||{};return{statusCode:n.status_code,url:n.url,content:n.content,cookies:d,headers:l,jobId:o.job_id||n.job_id,rendered:r.render,geoLocation:r.geoLocation||void 0,locale:r.locale,browserType:r.browserType,raw:o}}async scrapeMany(e,t,r=1000){let s=[];for(let i=0;i<e.length;i++){let o=await this.scrape(e[i],t);if(s.push(o),i<e.length-1&&r>0)await new Promise((n)=>setTimeout(n,r))}return s}buildRequestBody(e,t){let r=[];if(r.push({key:"return_page_cookies",value:!0}),r.push({key:"return_page_headers",value:!0}),t.context)for(let[i,o]of Object.entries(t.context))r.push({key:i,value:o});let s={source:"universal",url:e,context:r};if(t.render)s.render="html";if(t.browserType)s.user_agent_type=t.browserType;if(t.locale)s.locale=t.locale;if(t.geoLocation)s.geo_location=t.geoLocation;return s}getConfig(){return{...this.config,password:"***"}}withConfig(e){return new u({...this.config,...e})}async testConnection(){try{return await this.scrape("https://httpbin.org/ip"),!0}catch(e){throw Error(`Oxylabs connection test failed: ${e.message}`)}}}exports.Oxylabs=u;exports.default=u;module.exports=Object.assign(u,exports);
@@ -1,40 +1,40 @@
1
- const _mod_6edby9 = require('./crawler.cjs');
2
- exports.Crawler = _mod_6edby9.Crawler;;
3
- const _mod_axv8z7 = require('./crawler-options.cjs');
4
- exports.CrawlerOptions = _mod_axv8z7.CrawlerOptions;;
5
- const _mod_6wttbe = require('./plugin/robots-txt.cjs');
6
- exports.RobotsTxt = _mod_6wttbe.RobotsTxt;;
7
- const _mod_2zjk4f = require('./plugin/file-cacher.cjs');
8
- exports.FileCacher = _mod_2zjk4f.FileCacher;;
9
- const _mod_xmrwxh = require('./plugin/url-store.cjs');
10
- exports.UrlStore = _mod_xmrwxh.UrlStore;;
11
- const _mod_pl47sn = require('./plugin/navigation-history.cjs');
12
- exports.NavigationHistory = _mod_pl47sn.NavigationHistory;;
13
- const _mod_dbnsr9 = require('./addon/oxylabs/index.cjs');
14
- exports.Oxylabs = _mod_dbnsr9.Oxylabs;;
15
- const _mod_h2o4d1 = require('./addon/oxylabs/options.cjs');
16
- exports.OXYLABS_BROWSER_TYPES = _mod_h2o4d1.OXYLABS_BROWSER_TYPES;
17
- exports.OXYLABS_COMMON_LOCALES = _mod_h2o4d1.OXYLABS_COMMON_LOCALES;
18
- exports.OXYLABS_COMMON_GEO_LOCATIONS = _mod_h2o4d1.OXYLABS_COMMON_GEO_LOCATIONS;
19
- exports.OXYLABS_US_STATES = _mod_h2o4d1.OXYLABS_US_STATES;
20
- exports.OXYLABS_EUROPEAN_COUNTRIES = _mod_h2o4d1.OXYLABS_EUROPEAN_COUNTRIES;
21
- exports.OXYLABS_ASIAN_COUNTRIES = _mod_h2o4d1.OXYLABS_ASIAN_COUNTRIES;
22
- exports.getRandomOxylabsBrowserType = _mod_h2o4d1.getRandomBrowserType;
23
- exports.getRandomOxylabsLocale = _mod_h2o4d1.getRandomLocale;
24
- exports.getRandomOxylabsGeoLocation = _mod_h2o4d1.getRandomGeoLocation;;
25
- const _mod_63jx8t = require('./addon/decodo/index.cjs');
26
- exports.Decodo = _mod_63jx8t.Decodo;;
27
- const _mod_5y9hg7 = require('./addon/decodo/options.cjs');
28
- exports.DECODO_DEVICE_TYPES = _mod_5y9hg7.DECODO_DEVICE_TYPES;
29
- exports.DECODO_HEADLESS_MODES = _mod_5y9hg7.DECODO_HEADLESS_MODES;
30
- exports.DECODO_COMMON_LOCALES = _mod_5y9hg7.DECODO_COMMON_LOCALES;
31
- exports.DECODO_COMMON_COUNTRIES = _mod_5y9hg7.DECODO_COMMON_COUNTRIES;
32
- exports.DECODO_EUROPEAN_COUNTRIES = _mod_5y9hg7.DECODO_EUROPEAN_COUNTRIES;
33
- exports.DECODO_ASIAN_COUNTRIES = _mod_5y9hg7.DECODO_ASIAN_COUNTRIES;
34
- exports.DECODO_US_STATES = _mod_5y9hg7.DECODO_US_STATES;
35
- exports.DECODO_COMMON_CITIES = _mod_5y9hg7.DECODO_COMMON_CITIES;
36
- exports.getRandomDecodoDeviceType = _mod_5y9hg7.getRandomDeviceType;
37
- exports.getRandomDecodoLocale = _mod_5y9hg7.getRandomLocale;
38
- exports.getRandomDecodoCountry = _mod_5y9hg7.getRandomCountry;
39
- exports.getRandomDecodoCity = _mod_5y9hg7.getRandomCity;
40
- exports.generateDecodoSessionId = _mod_5y9hg7.generateSessionId;;
1
+ const _mod_zggpqi = require('./crawler.cjs');
2
+ exports.Crawler = _mod_zggpqi.Crawler;;
3
+ const _mod_w5j7ew = require('./crawler-options.cjs');
4
+ exports.CrawlerOptions = _mod_w5j7ew.CrawlerOptions;;
5
+ const _mod_7tdth8 = require('./plugin/robots-txt.cjs');
6
+ exports.RobotsTxt = _mod_7tdth8.RobotsTxt;;
7
+ const _mod_u7vv7i = require('./plugin/file-cacher.cjs');
8
+ exports.FileCacher = _mod_u7vv7i.FileCacher;;
9
+ const _mod_d1ldj8 = require('./plugin/url-store.cjs');
10
+ exports.UrlStore = _mod_d1ldj8.UrlStore;;
11
+ const _mod_k72ti5 = require('./plugin/navigation-history.cjs');
12
+ exports.NavigationHistory = _mod_k72ti5.NavigationHistory;;
13
+ const _mod_pt5rej = require('./addon/oxylabs/index.cjs');
14
+ exports.Oxylabs = _mod_pt5rej.Oxylabs;;
15
+ const _mod_mnmjv5 = require('./addon/oxylabs/options.cjs');
16
+ exports.OXYLABS_BROWSER_TYPES = _mod_mnmjv5.OXYLABS_BROWSER_TYPES;
17
+ exports.OXYLABS_COMMON_LOCALES = _mod_mnmjv5.OXYLABS_COMMON_LOCALES;
18
+ exports.OXYLABS_COMMON_GEO_LOCATIONS = _mod_mnmjv5.OXYLABS_COMMON_GEO_LOCATIONS;
19
+ exports.OXYLABS_US_STATES = _mod_mnmjv5.OXYLABS_US_STATES;
20
+ exports.OXYLABS_EUROPEAN_COUNTRIES = _mod_mnmjv5.OXYLABS_EUROPEAN_COUNTRIES;
21
+ exports.OXYLABS_ASIAN_COUNTRIES = _mod_mnmjv5.OXYLABS_ASIAN_COUNTRIES;
22
+ exports.getRandomOxylabsBrowserType = _mod_mnmjv5.getRandomBrowserType;
23
+ exports.getRandomOxylabsLocale = _mod_mnmjv5.getRandomLocale;
24
+ exports.getRandomOxylabsGeoLocation = _mod_mnmjv5.getRandomGeoLocation;;
25
+ const _mod_15fgrr = require('./addon/decodo/index.cjs');
26
+ exports.Decodo = _mod_15fgrr.Decodo;;
27
+ const _mod_mpk0ak = require('./addon/decodo/options.cjs');
28
+ exports.DECODO_DEVICE_TYPES = _mod_mpk0ak.DECODO_DEVICE_TYPES;
29
+ exports.DECODO_HEADLESS_MODES = _mod_mpk0ak.DECODO_HEADLESS_MODES;
30
+ exports.DECODO_COMMON_LOCALES = _mod_mpk0ak.DECODO_COMMON_LOCALES;
31
+ exports.DECODO_COMMON_COUNTRIES = _mod_mpk0ak.DECODO_COMMON_COUNTRIES;
32
+ exports.DECODO_EUROPEAN_COUNTRIES = _mod_mpk0ak.DECODO_EUROPEAN_COUNTRIES;
33
+ exports.DECODO_ASIAN_COUNTRIES = _mod_mpk0ak.DECODO_ASIAN_COUNTRIES;
34
+ exports.DECODO_US_STATES = _mod_mpk0ak.DECODO_US_STATES;
35
+ exports.DECODO_COMMON_CITIES = _mod_mpk0ak.DECODO_COMMON_CITIES;
36
+ exports.getRandomDecodoDeviceType = _mod_mpk0ak.getRandomDeviceType;
37
+ exports.getRandomDecodoLocale = _mod_mpk0ak.getRandomLocale;
38
+ exports.getRandomDecodoCountry = _mod_mpk0ak.getRandomCountry;
39
+ exports.getRandomDecodoCity = _mod_mpk0ak.getRandomCity;
40
+ exports.generateDecodoSessionId = _mod_mpk0ak.generateSessionId;;
@@ -1,4 +1,4 @@
1
- const _mod_wyq9kz = require('../crawler/crawler.cjs');
2
- exports.Crawler = _mod_wyq9kz.Crawler;;
3
- const _mod_w2piwy = require('../crawler/crawler-options.cjs');
4
- exports.CrawlerOptions = _mod_w2piwy.CrawlerOptions;;
1
+ const _mod_92x3i3 = require('../crawler/crawler.cjs');
2
+ exports.Crawler = _mod_92x3i3.Crawler;;
3
+ const _mod_n5bqoe = require('../crawler/crawler-options.cjs');
4
+ exports.CrawlerOptions = _mod_n5bqoe.CrawlerOptions;;
package/dist/index.cjs CHANGED
@@ -1,30 +1,30 @@
1
- const _mod_i5u6sg = require('./core/rezo.cjs');
2
- exports.Rezo = _mod_i5u6sg.Rezo;
3
- exports.createRezoInstance = _mod_i5u6sg.createRezoInstance;
4
- exports.createDefaultInstance = _mod_i5u6sg.createDefaultInstance;;
5
- const _mod_41z8dt = require('./errors/rezo-error.cjs');
6
- exports.RezoError = _mod_41z8dt.RezoError;
7
- exports.RezoErrorCode = _mod_41z8dt.RezoErrorCode;;
8
- const _mod_n2o0jv = require('./utils/headers.cjs');
9
- exports.RezoHeaders = _mod_n2o0jv.RezoHeaders;;
10
- const _mod_imk3ix = require('./utils/form-data.cjs');
11
- exports.RezoFormData = _mod_imk3ix.RezoFormData;;
12
- const _mod_5jwled = require('./utils/cookies.cjs');
13
- exports.RezoCookieJar = _mod_5jwled.RezoCookieJar;
14
- exports.Cookie = _mod_5jwled.Cookie;;
15
- const _mod_uk995z = require('./utils/curl.cjs');
16
- exports.toCurl = _mod_uk995z.toCurl;
17
- exports.fromCurl = _mod_uk995z.fromCurl;;
18
- const _mod_b3o4e4 = require('./core/hooks.cjs');
19
- exports.createDefaultHooks = _mod_b3o4e4.createDefaultHooks;
20
- exports.mergeHooks = _mod_b3o4e4.mergeHooks;;
21
- const _mod_wmzjgb = require('./proxy/manager.cjs');
22
- exports.ProxyManager = _mod_wmzjgb.ProxyManager;;
23
- const _mod_mhxh9j = require('./queue/index.cjs');
24
- exports.RezoQueue = _mod_mhxh9j.RezoQueue;
25
- exports.HttpQueue = _mod_mhxh9j.HttpQueue;
26
- exports.Priority = _mod_mhxh9j.Priority;
27
- exports.HttpMethodPriority = _mod_mhxh9j.HttpMethodPriority;;
1
+ const _mod_q6srzt = require('./core/rezo.cjs');
2
+ exports.Rezo = _mod_q6srzt.Rezo;
3
+ exports.createRezoInstance = _mod_q6srzt.createRezoInstance;
4
+ exports.createDefaultInstance = _mod_q6srzt.createDefaultInstance;;
5
+ const _mod_gn3oqh = require('./errors/rezo-error.cjs');
6
+ exports.RezoError = _mod_gn3oqh.RezoError;
7
+ exports.RezoErrorCode = _mod_gn3oqh.RezoErrorCode;;
8
+ const _mod_a4aibp = require('./utils/headers.cjs');
9
+ exports.RezoHeaders = _mod_a4aibp.RezoHeaders;;
10
+ const _mod_55sc23 = require('./utils/form-data.cjs');
11
+ exports.RezoFormData = _mod_55sc23.RezoFormData;;
12
+ const _mod_fh683m = require('./utils/cookies.cjs');
13
+ exports.RezoCookieJar = _mod_fh683m.RezoCookieJar;
14
+ exports.Cookie = _mod_fh683m.Cookie;;
15
+ const _mod_zbzua6 = require('./utils/curl.cjs');
16
+ exports.toCurl = _mod_zbzua6.toCurl;
17
+ exports.fromCurl = _mod_zbzua6.fromCurl;;
18
+ const _mod_76yfai = require('./core/hooks.cjs');
19
+ exports.createDefaultHooks = _mod_76yfai.createDefaultHooks;
20
+ exports.mergeHooks = _mod_76yfai.mergeHooks;;
21
+ const _mod_3b2yju = require('./proxy/manager.cjs');
22
+ exports.ProxyManager = _mod_3b2yju.ProxyManager;;
23
+ const _mod_8pnv4s = require('./queue/index.cjs');
24
+ exports.RezoQueue = _mod_8pnv4s.RezoQueue;
25
+ exports.HttpQueue = _mod_8pnv4s.HttpQueue;
26
+ exports.Priority = _mod_8pnv4s.Priority;
27
+ exports.HttpMethodPriority = _mod_8pnv4s.HttpMethodPriority;;
28
28
  const { RezoError } = require('./errors/rezo-error.cjs');
29
29
  const isRezoError = exports.isRezoError = RezoError.isRezoError;
30
30
  const Cancel = exports.Cancel = RezoError;
@@ -1,10 +1,10 @@
1
- const _mod_1twhkh = require('./base.cjs');
2
- exports.Agent = _mod_1twhkh.Agent;;
3
- const _mod_6s90bc = require('./http-proxy.cjs');
4
- exports.HttpProxyAgent = _mod_6s90bc.HttpProxyAgent;;
5
- const _mod_y3mef2 = require('./https-proxy.cjs');
6
- exports.HttpsProxyAgent = _mod_y3mef2.HttpsProxyAgent;;
7
- const _mod_o8zfcz = require('./socks-proxy.cjs');
8
- exports.SocksProxyAgent = _mod_o8zfcz.SocksProxyAgent;;
9
- const _mod_ysdaev = require('./socks-client.cjs');
10
- exports.SocksClient = _mod_ysdaev.SocksClient;;
1
+ const _mod_bf5fu2 = require('./base.cjs');
2
+ exports.Agent = _mod_bf5fu2.Agent;;
3
+ const _mod_kwrpcj = require('./http-proxy.cjs');
4
+ exports.HttpProxyAgent = _mod_kwrpcj.HttpProxyAgent;;
5
+ const _mod_ykdpvq = require('./https-proxy.cjs');
6
+ exports.HttpsProxyAgent = _mod_ykdpvq.HttpsProxyAgent;;
7
+ const _mod_a0kdcz = require('./socks-proxy.cjs');
8
+ exports.SocksProxyAgent = _mod_a0kdcz.SocksProxyAgent;;
9
+ const _mod_itvmz3 = require('./socks-client.cjs');
10
+ exports.SocksClient = _mod_itvmz3.SocksClient;;
@@ -1,9 +1,9 @@
1
1
  const { Agent, HttpProxyAgent, HttpsProxyAgent, SocksProxyAgent } = require('../internal/agents/index.cjs');
2
2
  const { parseProxyString } = require('./parse.cjs');
3
- const _mod_c9uthc = require('./manager.cjs');
4
- exports.ProxyManager = _mod_c9uthc.ProxyManager;;
5
- const _mod_nqntdj = require('./parse.cjs');
6
- exports.parseProxyString = _mod_nqntdj.parseProxyString;;
3
+ const _mod_kclb7u = require('./manager.cjs');
4
+ exports.ProxyManager = _mod_kclb7u.ProxyManager;;
5
+ const _mod_33tnsz = require('./parse.cjs');
6
+ exports.parseProxyString = _mod_33tnsz.parseProxyString;;
7
7
  function createOptions(uri, opts) {
8
8
  if (uri instanceof URL || typeof uri === "string") {
9
9
  return {
@@ -1,8 +1,8 @@
1
- const _mod_uinp36 = require('./queue.cjs');
2
- exports.RezoQueue = _mod_uinp36.RezoQueue;;
3
- const _mod_p0ep5c = require('./http-queue.cjs');
4
- exports.HttpQueue = _mod_p0ep5c.HttpQueue;
5
- exports.extractDomain = _mod_p0ep5c.extractDomain;;
6
- const _mod_5o7x2e = require('./types.cjs');
7
- exports.Priority = _mod_5o7x2e.Priority;
8
- exports.HttpMethodPriority = _mod_5o7x2e.HttpMethodPriority;;
1
+ const _mod_mzwr2r = require('./queue.cjs');
2
+ exports.RezoQueue = _mod_mzwr2r.RezoQueue;;
3
+ const _mod_lepqvc = require('./http-queue.cjs');
4
+ exports.HttpQueue = _mod_lepqvc.HttpQueue;
5
+ exports.extractDomain = _mod_lepqvc.extractDomain;;
6
+ const _mod_g0cvqm = require('./types.cjs');
7
+ exports.Priority = _mod_g0cvqm.Priority;
8
+ exports.HttpMethodPriority = _mod_g0cvqm.HttpMethodPriority;;
@@ -312,6 +312,7 @@ class RezoQueue {
312
312
  this.intervalStart = Date.now();
313
313
  this.tryRunNext();
314
314
  }, this.config.interval);
315
+ this.intervalId.unref();
315
316
  }
316
317
  emit(event, data) {
317
318
  const handlers = this.eventHandlers.get(event);
@@ -312,6 +312,7 @@ export class RezoQueue {
312
312
  this.intervalStart = Date.now();
313
313
  this.tryRunNext();
314
314
  }, this.config.interval);
315
+ this.intervalId.unref();
315
316
  }
316
317
  emit(event, data) {
317
318
  const handlers = this.eventHandlers.get(event);
@@ -1,11 +1,11 @@
1
- const _mod_nbsy03 = require('./event-emitter.cjs');
2
- exports.UniversalEventEmitter = _mod_nbsy03.UniversalEventEmitter;;
3
- const _mod_q18xhk = require('./stream.cjs');
4
- exports.UniversalStreamResponse = _mod_q18xhk.UniversalStreamResponse;
5
- exports.StreamResponse = _mod_q18xhk.StreamResponse;;
6
- const _mod_yoyvb4 = require('./download.cjs');
7
- exports.UniversalDownloadResponse = _mod_yoyvb4.UniversalDownloadResponse;
8
- exports.DownloadResponse = _mod_yoyvb4.DownloadResponse;;
9
- const _mod_evsbw4 = require('./upload.cjs');
10
- exports.UniversalUploadResponse = _mod_evsbw4.UniversalUploadResponse;
11
- exports.UploadResponse = _mod_evsbw4.UploadResponse;;
1
+ const _mod_p57m80 = require('./event-emitter.cjs');
2
+ exports.UniversalEventEmitter = _mod_p57m80.UniversalEventEmitter;;
3
+ const _mod_c77x9z = require('./stream.cjs');
4
+ exports.UniversalStreamResponse = _mod_c77x9z.UniversalStreamResponse;
5
+ exports.StreamResponse = _mod_c77x9z.StreamResponse;;
6
+ const _mod_4rsxgf = require('./download.cjs');
7
+ exports.UniversalDownloadResponse = _mod_4rsxgf.UniversalDownloadResponse;
8
+ exports.DownloadResponse = _mod_4rsxgf.DownloadResponse;;
9
+ const _mod_kbsfm9 = require('./upload.cjs');
10
+ exports.UniversalUploadResponse = _mod_kbsfm9.UniversalUploadResponse;
11
+ exports.UploadResponse = _mod_kbsfm9.UploadResponse;;
@@ -69,7 +69,16 @@ class AgentPool {
69
69
  if (lookup) {
70
70
  agentOptions.lookup = lookup;
71
71
  }
72
- return new http.Agent(agentOptions);
72
+ const agent = new http.Agent(agentOptions);
73
+ this.setupAgentSocketUnref(agent);
74
+ return agent;
75
+ }
76
+ setupAgentSocketUnref(agent) {
77
+ agent.on("free", (socket) => {
78
+ if (socket && typeof socket.unref === "function") {
79
+ socket.unref();
80
+ }
81
+ });
73
82
  }
74
83
  createHttpsAgent(key, tlsOptions) {
75
84
  const agentOptions = {
@@ -85,7 +94,9 @@ class AgentPool {
85
94
  if (lookup) {
86
95
  agentOptions.lookup = lookup;
87
96
  }
88
- return new https.Agent(agentOptions);
97
+ const agent = new https.Agent(agentOptions);
98
+ this.setupAgentSocketUnref(agent);
99
+ return agent;
89
100
  }
90
101
  getHttpAgent(options) {
91
102
  const key = this.buildAgentKey(options);
@@ -152,14 +163,44 @@ class AgentPool {
152
163
  this.evictionTimer = null;
153
164
  }
154
165
  for (const pooled of this.httpAgents.values()) {
166
+ this.destroyAgentSockets(pooled.agent);
155
167
  pooled.agent.destroy();
156
168
  }
157
169
  this.httpAgents.clear();
158
170
  for (const pooled of this.httpsAgents.values()) {
171
+ this.destroyAgentSockets(pooled.agent);
159
172
  pooled.agent.destroy();
160
173
  }
161
174
  this.httpsAgents.clear();
162
175
  }
176
+ destroyAgentSockets(agent) {
177
+ const sockets = agent.sockets;
178
+ if (sockets && typeof sockets === "object") {
179
+ for (const key of Object.keys(sockets)) {
180
+ const socketList = sockets[key];
181
+ if (Array.isArray(socketList)) {
182
+ for (const socket of socketList) {
183
+ try {
184
+ socket.destroy();
185
+ } catch {}
186
+ }
187
+ }
188
+ }
189
+ }
190
+ const freeSockets = agent.freeSockets;
191
+ if (freeSockets && typeof freeSockets === "object") {
192
+ for (const key of Object.keys(freeSockets)) {
193
+ const socketList = freeSockets[key];
194
+ if (Array.isArray(socketList)) {
195
+ for (const socket of socketList) {
196
+ try {
197
+ socket.destroy();
198
+ } catch {}
199
+ }
200
+ }
201
+ }
202
+ }
203
+ }
163
204
  clear() {
164
205
  this.destroy();
165
206
  if (this.config.idleEvictionMs > 0) {
@@ -69,7 +69,16 @@ class AgentPool {
69
69
  if (lookup) {
70
70
  agentOptions.lookup = lookup;
71
71
  }
72
- return new http.Agent(agentOptions);
72
+ const agent = new http.Agent(agentOptions);
73
+ this.setupAgentSocketUnref(agent);
74
+ return agent;
75
+ }
76
+ setupAgentSocketUnref(agent) {
77
+ agent.on("free", (socket) => {
78
+ if (socket && typeof socket.unref === "function") {
79
+ socket.unref();
80
+ }
81
+ });
73
82
  }
74
83
  createHttpsAgent(key, tlsOptions) {
75
84
  const agentOptions = {
@@ -85,7 +94,9 @@ class AgentPool {
85
94
  if (lookup) {
86
95
  agentOptions.lookup = lookup;
87
96
  }
88
- return new https.Agent(agentOptions);
97
+ const agent = new https.Agent(agentOptions);
98
+ this.setupAgentSocketUnref(agent);
99
+ return agent;
89
100
  }
90
101
  getHttpAgent(options) {
91
102
  const key = this.buildAgentKey(options);
@@ -152,14 +163,44 @@ class AgentPool {
152
163
  this.evictionTimer = null;
153
164
  }
154
165
  for (const pooled of this.httpAgents.values()) {
166
+ this.destroyAgentSockets(pooled.agent);
155
167
  pooled.agent.destroy();
156
168
  }
157
169
  this.httpAgents.clear();
158
170
  for (const pooled of this.httpsAgents.values()) {
171
+ this.destroyAgentSockets(pooled.agent);
159
172
  pooled.agent.destroy();
160
173
  }
161
174
  this.httpsAgents.clear();
162
175
  }
176
+ destroyAgentSockets(agent) {
177
+ const sockets = agent.sockets;
178
+ if (sockets && typeof sockets === "object") {
179
+ for (const key of Object.keys(sockets)) {
180
+ const socketList = sockets[key];
181
+ if (Array.isArray(socketList)) {
182
+ for (const socket of socketList) {
183
+ try {
184
+ socket.destroy();
185
+ } catch {}
186
+ }
187
+ }
188
+ }
189
+ }
190
+ const freeSockets = agent.freeSockets;
191
+ if (freeSockets && typeof freeSockets === "object") {
192
+ for (const key of Object.keys(freeSockets)) {
193
+ const socketList = freeSockets[key];
194
+ if (Array.isArray(socketList)) {
195
+ for (const socket of socketList) {
196
+ try {
197
+ socket.destroy();
198
+ } catch {}
199
+ }
200
+ }
201
+ }
202
+ }
203
+ }
163
204
  clear() {
164
205
  this.destroy();
165
206
  if (this.config.idleEvictionMs > 0) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rezo",
3
- "version": "1.0.58",
3
+ "version": "1.0.60",
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",