rezo 1.0.37 → 1.0.39

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.
@@ -192,7 +192,17 @@ export declare class RezoCookieJar extends TouchCookieJar {
192
192
  constructor(cookies: Cookie[]);
193
193
  constructor(cookies: Cookie[], url: string);
194
194
  private generateCookies;
195
- cookies(): Cookies;
195
+ /**
196
+ * Get all cookies from the cookie jar.
197
+ *
198
+ * This method synchronously returns all cookies stored in the jar,
199
+ * including both regular and touch cookies.
200
+ *
201
+ * @returns {Cookies} An object containing arrays of all cookies,
202
+ * serialized representations, Netscape format strings, and set-cookie strings
203
+ * @see {@link getCookiesForRequest} - Get cookies for a specific request URL
204
+ */
205
+ cookies(url?: string): Cookies;
196
206
  parseResponseCookies(cookies: Cookie[]): Cookies;
197
207
  static toNetscapeCookie(cookies: Cookie[] | SerializedCookie[]): string;
198
208
  static toCookieString(cookies: Cookie[] | SerializedCookie[]): string;
@@ -4253,12 +4263,16 @@ export declare class Rezo {
4253
4263
  setCookies(setCookieArray: string[], url: string, startNew?: boolean): void;
4254
4264
  setCookies(setCookieArray: string[], url: string | undefined, startNew: boolean): void;
4255
4265
  /**
4256
- * Get all cookies from the cookie jar in multiple convenient formats.
4266
+ * Get cookies from the cookie jar in multiple convenient formats.
4257
4267
  *
4258
- * Returns a `Cookies` object containing all stored cookies in various formats
4268
+ * Returns a `Cookies` object containing stored cookies in various formats
4259
4269
  * for different use cases. This provides flexible access to cookies for
4260
4270
  * HTTP headers, file storage, serialization, or programmatic manipulation.
4261
4271
  *
4272
+ * If a `url` is provided, only cookies valid for that URL (matching domain, path,
4273
+ * expiration, etc.) are returned. If no `url` is provided, all cookies in the
4274
+ * jar are returned.
4275
+ *
4262
4276
  * The returned `Cookies` object contains:
4263
4277
  * - **array**: `Cookie[]` - Array of Cookie class instances for programmatic access
4264
4278
  * - **serialized**: `SerializedCookie[]` - Plain objects for JSON serialization/storage
@@ -4266,37 +4280,29 @@ export declare class Rezo {
4266
4280
  * - **string**: `string` - Cookie header format (`key=value; key2=value2`) for HTTP requests
4267
4281
  * - **setCookiesString**: `string[]` - Array of Set-Cookie header strings
4268
4282
  *
4283
+ * @param url - Optional URL to filter cookies. If provided, returns only cookies valid for this URL.
4269
4284
  * @returns A Cookies object with cookies in multiple formats
4270
4285
  *
4271
4286
  * @example
4272
4287
  * ```typescript
4273
- * const cookies = rezo.getCookies();
4288
+ * // Get ALL cookies in the jar
4289
+ * const allCookies = rezo.getCookies();
4274
4290
  *
4275
- * // Access as Cookie instances for programmatic use
4276
- * for (const cookie of cookies.array) {
4277
- * console.log(`${cookie.key}=${cookie.value} (expires: ${cookie.expires})`);
4278
- * }
4291
+ * // Get cookies valid for a specific URL
4292
+ * const googleCookies = rezo.getCookies('https://google.com');
4293
+ * console.log(googleCookies.string); // Only sends valid cookies for google.com
4279
4294
  *
4280
- * // Get cookie header string for manual HTTP requests
4281
- * console.log(cookies.string); // "session=abc123; user=john"
4295
+ * // Access as Cookie instances
4296
+ * for (const cookie of allCookies.array) {
4297
+ * console.log(`${cookie.key}=${cookie.value}`);
4298
+ * }
4282
4299
  *
4283
4300
  * // Save to Netscape cookie file
4284
- * fs.writeFileSync('cookies.txt', cookies.netscape);
4301
+ * fs.writeFileSync('cookies.txt', allCookies.netscape);
4285
4302
  *
4286
4303
  * // Serialize to JSON for storage
4287
- * const json = JSON.stringify(cookies.serialized);
4304
+ * const json = JSON.stringify(allCookies.serialized);
4288
4305
  * localStorage.setItem('cookies', json);
4289
- *
4290
- * // Get Set-Cookie headers (useful for proxying responses)
4291
- * for (const setCookie of cookies.setCookiesString) {
4292
- * console.log(setCookie); // "session=abc123; Domain=example.com; Path=/; HttpOnly"
4293
- * }
4294
- *
4295
- * // Check cookie count
4296
- * console.log(`Total cookies: ${cookies.array.length}`);
4297
- *
4298
- * // Find specific cookie
4299
- * const sessionCookie = cookies.array.find(c => c.key === 'session');
4300
4306
  * ```
4301
4307
  *
4302
4308
  * @see {@link setCookies} - Set cookies in the jar
@@ -4304,6 +4310,7 @@ export declare class Rezo {
4304
4310
  * @see {@link cookieJar} - Access the underlying RezoCookieJar for more methods
4305
4311
  */
4306
4312
  getCookies(): Cookies;
4313
+ getCookies(url: string): Cookies;
4307
4314
  /**
4308
4315
  * Remove all cookies from the cookie jar.
4309
4316
  *
@@ -192,7 +192,17 @@ export declare class RezoCookieJar extends TouchCookieJar {
192
192
  constructor(cookies: Cookie[]);
193
193
  constructor(cookies: Cookie[], url: string);
194
194
  private generateCookies;
195
- cookies(): Cookies;
195
+ /**
196
+ * Get all cookies from the cookie jar.
197
+ *
198
+ * This method synchronously returns all cookies stored in the jar,
199
+ * including both regular and touch cookies.
200
+ *
201
+ * @returns {Cookies} An object containing arrays of all cookies,
202
+ * serialized representations, Netscape format strings, and set-cookie strings
203
+ * @see {@link getCookiesForRequest} - Get cookies for a specific request URL
204
+ */
205
+ cookies(url?: string): Cookies;
196
206
  parseResponseCookies(cookies: Cookie[]): Cookies;
197
207
  static toNetscapeCookie(cookies: Cookie[] | SerializedCookie[]): string;
198
208
  static toCookieString(cookies: Cookie[] | SerializedCookie[]): string;
@@ -4253,12 +4263,16 @@ export declare class Rezo {
4253
4263
  setCookies(setCookieArray: string[], url: string, startNew?: boolean): void;
4254
4264
  setCookies(setCookieArray: string[], url: string | undefined, startNew: boolean): void;
4255
4265
  /**
4256
- * Get all cookies from the cookie jar in multiple convenient formats.
4266
+ * Get cookies from the cookie jar in multiple convenient formats.
4257
4267
  *
4258
- * Returns a `Cookies` object containing all stored cookies in various formats
4268
+ * Returns a `Cookies` object containing stored cookies in various formats
4259
4269
  * for different use cases. This provides flexible access to cookies for
4260
4270
  * HTTP headers, file storage, serialization, or programmatic manipulation.
4261
4271
  *
4272
+ * If a `url` is provided, only cookies valid for that URL (matching domain, path,
4273
+ * expiration, etc.) are returned. If no `url` is provided, all cookies in the
4274
+ * jar are returned.
4275
+ *
4262
4276
  * The returned `Cookies` object contains:
4263
4277
  * - **array**: `Cookie[]` - Array of Cookie class instances for programmatic access
4264
4278
  * - **serialized**: `SerializedCookie[]` - Plain objects for JSON serialization/storage
@@ -4266,37 +4280,29 @@ export declare class Rezo {
4266
4280
  * - **string**: `string` - Cookie header format (`key=value; key2=value2`) for HTTP requests
4267
4281
  * - **setCookiesString**: `string[]` - Array of Set-Cookie header strings
4268
4282
  *
4283
+ * @param url - Optional URL to filter cookies. If provided, returns only cookies valid for this URL.
4269
4284
  * @returns A Cookies object with cookies in multiple formats
4270
4285
  *
4271
4286
  * @example
4272
4287
  * ```typescript
4273
- * const cookies = rezo.getCookies();
4288
+ * // Get ALL cookies in the jar
4289
+ * const allCookies = rezo.getCookies();
4274
4290
  *
4275
- * // Access as Cookie instances for programmatic use
4276
- * for (const cookie of cookies.array) {
4277
- * console.log(`${cookie.key}=${cookie.value} (expires: ${cookie.expires})`);
4278
- * }
4291
+ * // Get cookies valid for a specific URL
4292
+ * const googleCookies = rezo.getCookies('https://google.com');
4293
+ * console.log(googleCookies.string); // Only sends valid cookies for google.com
4279
4294
  *
4280
- * // Get cookie header string for manual HTTP requests
4281
- * console.log(cookies.string); // "session=abc123; user=john"
4295
+ * // Access as Cookie instances
4296
+ * for (const cookie of allCookies.array) {
4297
+ * console.log(`${cookie.key}=${cookie.value}`);
4298
+ * }
4282
4299
  *
4283
4300
  * // Save to Netscape cookie file
4284
- * fs.writeFileSync('cookies.txt', cookies.netscape);
4301
+ * fs.writeFileSync('cookies.txt', allCookies.netscape);
4285
4302
  *
4286
4303
  * // Serialize to JSON for storage
4287
- * const json = JSON.stringify(cookies.serialized);
4304
+ * const json = JSON.stringify(allCookies.serialized);
4288
4305
  * localStorage.setItem('cookies', json);
4289
- *
4290
- * // Get Set-Cookie headers (useful for proxying responses)
4291
- * for (const setCookie of cookies.setCookiesString) {
4292
- * console.log(setCookie); // "session=abc123; Domain=example.com; Path=/; HttpOnly"
4293
- * }
4294
- *
4295
- * // Check cookie count
4296
- * console.log(`Total cookies: ${cookies.array.length}`);
4297
- *
4298
- * // Find specific cookie
4299
- * const sessionCookie = cookies.array.find(c => c.key === 'session');
4300
4306
  * ```
4301
4307
  *
4302
4308
  * @see {@link setCookies} - Set cookies in the jar
@@ -4304,6 +4310,7 @@ export declare class Rezo {
4304
4310
  * @see {@link cookieJar} - Access the underlying RezoCookieJar for more methods
4305
4311
  */
4306
4312
  getCookies(): Cookies;
4313
+ getCookies(url: string): Cookies;
4307
4314
  /**
4308
4315
  * Remove all cookies from the cookie jar.
4309
4316
  *
@@ -1,36 +1,36 @@
1
- const _mod_82a2rb = require('./crawler.cjs');
2
- exports.Crawler = _mod_82a2rb.Crawler;;
3
- const _mod_3qq2q5 = require('./crawler-options.cjs');
4
- exports.CrawlerOptions = _mod_3qq2q5.CrawlerOptions;;
5
- const _mod_4j8yxb = require('../cache/file-cacher.cjs');
6
- exports.FileCacher = _mod_4j8yxb.FileCacher;;
7
- const _mod_zz95gk = require('../cache/url-store.cjs');
8
- exports.UrlStore = _mod_zz95gk.UrlStore;;
9
- const _mod_d926nc = require('./addon/oxylabs/index.cjs');
10
- exports.Oxylabs = _mod_d926nc.Oxylabs;;
11
- const _mod_43m3h2 = require('./addon/oxylabs/options.cjs');
12
- exports.OXYLABS_BROWSER_TYPES = _mod_43m3h2.OXYLABS_BROWSER_TYPES;
13
- exports.OXYLABS_COMMON_LOCALES = _mod_43m3h2.OXYLABS_COMMON_LOCALES;
14
- exports.OXYLABS_COMMON_GEO_LOCATIONS = _mod_43m3h2.OXYLABS_COMMON_GEO_LOCATIONS;
15
- exports.OXYLABS_US_STATES = _mod_43m3h2.OXYLABS_US_STATES;
16
- exports.OXYLABS_EUROPEAN_COUNTRIES = _mod_43m3h2.OXYLABS_EUROPEAN_COUNTRIES;
17
- exports.OXYLABS_ASIAN_COUNTRIES = _mod_43m3h2.OXYLABS_ASIAN_COUNTRIES;
18
- exports.getRandomOxylabsBrowserType = _mod_43m3h2.getRandomBrowserType;
19
- exports.getRandomOxylabsLocale = _mod_43m3h2.getRandomLocale;
20
- exports.getRandomOxylabsGeoLocation = _mod_43m3h2.getRandomGeoLocation;;
21
- const _mod_0wt6of = require('./addon/decodo/index.cjs');
22
- exports.Decodo = _mod_0wt6of.Decodo;;
23
- const _mod_dvwehx = require('./addon/decodo/options.cjs');
24
- exports.DECODO_DEVICE_TYPES = _mod_dvwehx.DECODO_DEVICE_TYPES;
25
- exports.DECODO_HEADLESS_MODES = _mod_dvwehx.DECODO_HEADLESS_MODES;
26
- exports.DECODO_COMMON_LOCALES = _mod_dvwehx.DECODO_COMMON_LOCALES;
27
- exports.DECODO_COMMON_COUNTRIES = _mod_dvwehx.DECODO_COMMON_COUNTRIES;
28
- exports.DECODO_EUROPEAN_COUNTRIES = _mod_dvwehx.DECODO_EUROPEAN_COUNTRIES;
29
- exports.DECODO_ASIAN_COUNTRIES = _mod_dvwehx.DECODO_ASIAN_COUNTRIES;
30
- exports.DECODO_US_STATES = _mod_dvwehx.DECODO_US_STATES;
31
- exports.DECODO_COMMON_CITIES = _mod_dvwehx.DECODO_COMMON_CITIES;
32
- exports.getRandomDecodoDeviceType = _mod_dvwehx.getRandomDeviceType;
33
- exports.getRandomDecodoLocale = _mod_dvwehx.getRandomLocale;
34
- exports.getRandomDecodoCountry = _mod_dvwehx.getRandomCountry;
35
- exports.getRandomDecodoCity = _mod_dvwehx.getRandomCity;
36
- exports.generateDecodoSessionId = _mod_dvwehx.generateSessionId;;
1
+ const _mod_wzgqgv = require('./crawler.cjs');
2
+ exports.Crawler = _mod_wzgqgv.Crawler;;
3
+ const _mod_wpkdnl = require('./crawler-options.cjs');
4
+ exports.CrawlerOptions = _mod_wpkdnl.CrawlerOptions;;
5
+ const _mod_eilhvd = require('../cache/file-cacher.cjs');
6
+ exports.FileCacher = _mod_eilhvd.FileCacher;;
7
+ const _mod_mjgz7z = require('../cache/url-store.cjs');
8
+ exports.UrlStore = _mod_mjgz7z.UrlStore;;
9
+ const _mod_crjzvi = require('./addon/oxylabs/index.cjs');
10
+ exports.Oxylabs = _mod_crjzvi.Oxylabs;;
11
+ const _mod_dfryad = require('./addon/oxylabs/options.cjs');
12
+ exports.OXYLABS_BROWSER_TYPES = _mod_dfryad.OXYLABS_BROWSER_TYPES;
13
+ exports.OXYLABS_COMMON_LOCALES = _mod_dfryad.OXYLABS_COMMON_LOCALES;
14
+ exports.OXYLABS_COMMON_GEO_LOCATIONS = _mod_dfryad.OXYLABS_COMMON_GEO_LOCATIONS;
15
+ exports.OXYLABS_US_STATES = _mod_dfryad.OXYLABS_US_STATES;
16
+ exports.OXYLABS_EUROPEAN_COUNTRIES = _mod_dfryad.OXYLABS_EUROPEAN_COUNTRIES;
17
+ exports.OXYLABS_ASIAN_COUNTRIES = _mod_dfryad.OXYLABS_ASIAN_COUNTRIES;
18
+ exports.getRandomOxylabsBrowserType = _mod_dfryad.getRandomBrowserType;
19
+ exports.getRandomOxylabsLocale = _mod_dfryad.getRandomLocale;
20
+ exports.getRandomOxylabsGeoLocation = _mod_dfryad.getRandomGeoLocation;;
21
+ const _mod_1ijfro = require('./addon/decodo/index.cjs');
22
+ exports.Decodo = _mod_1ijfro.Decodo;;
23
+ const _mod_qcre6p = require('./addon/decodo/options.cjs');
24
+ exports.DECODO_DEVICE_TYPES = _mod_qcre6p.DECODO_DEVICE_TYPES;
25
+ exports.DECODO_HEADLESS_MODES = _mod_qcre6p.DECODO_HEADLESS_MODES;
26
+ exports.DECODO_COMMON_LOCALES = _mod_qcre6p.DECODO_COMMON_LOCALES;
27
+ exports.DECODO_COMMON_COUNTRIES = _mod_qcre6p.DECODO_COMMON_COUNTRIES;
28
+ exports.DECODO_EUROPEAN_COUNTRIES = _mod_qcre6p.DECODO_EUROPEAN_COUNTRIES;
29
+ exports.DECODO_ASIAN_COUNTRIES = _mod_qcre6p.DECODO_ASIAN_COUNTRIES;
30
+ exports.DECODO_US_STATES = _mod_qcre6p.DECODO_US_STATES;
31
+ exports.DECODO_COMMON_CITIES = _mod_qcre6p.DECODO_COMMON_CITIES;
32
+ exports.getRandomDecodoDeviceType = _mod_qcre6p.getRandomDeviceType;
33
+ exports.getRandomDecodoLocale = _mod_qcre6p.getRandomLocale;
34
+ exports.getRandomDecodoCountry = _mod_qcre6p.getRandomCountry;
35
+ exports.getRandomDecodoCity = _mod_qcre6p.getRandomCity;
36
+ exports.generateDecodoSessionId = _mod_qcre6p.generateSessionId;;
@@ -2,10 +2,10 @@ const { SocksProxyAgent: RezoSocksProxy } = require("socks-proxy-agent");
2
2
  const { HttpsProxyAgent: RezoHttpsSocks } = require("https-proxy-agent");
3
3
  const { HttpProxyAgent: RezoHttpSocks } = require("http-proxy-agent");
4
4
  const { parseProxyString } = require('./parse.cjs');
5
- const _mod_mfb6oo = require('./manager.cjs');
6
- exports.ProxyManager = _mod_mfb6oo.ProxyManager;;
7
- const _mod_msp7ha = require('./parse.cjs');
8
- exports.parseProxyString = _mod_msp7ha.parseProxyString;;
5
+ const _mod_0s8xgi = require('./manager.cjs');
6
+ exports.ProxyManager = _mod_0s8xgi.ProxyManager;;
7
+ const _mod_jnolwp = require('./parse.cjs');
8
+ exports.parseProxyString = _mod_jnolwp.parseProxyString;;
9
9
  function createOptions(uri, opts) {
10
10
  if (uri instanceof URL || typeof uri === "string") {
11
11
  return {
@@ -1,8 +1,8 @@
1
- const _mod_hl4yb7 = require('./queue.cjs');
2
- exports.RezoQueue = _mod_hl4yb7.RezoQueue;;
3
- const _mod_asidmy = require('./http-queue.cjs');
4
- exports.HttpQueue = _mod_asidmy.HttpQueue;
5
- exports.extractDomain = _mod_asidmy.extractDomain;;
6
- const _mod_l187x4 = require('./types.cjs');
7
- exports.Priority = _mod_l187x4.Priority;
8
- exports.HttpMethodPriority = _mod_l187x4.HttpMethodPriority;;
1
+ const _mod_i18y2w = require('./queue.cjs');
2
+ exports.RezoQueue = _mod_i18y2w.RezoQueue;;
3
+ const _mod_qkjn1p = require('./http-queue.cjs');
4
+ exports.HttpQueue = _mod_qkjn1p.HttpQueue;
5
+ exports.extractDomain = _mod_qkjn1p.extractDomain;;
6
+ const _mod_0c4ydt = require('./types.cjs');
7
+ exports.Priority = _mod_0c4ydt.Priority;
8
+ exports.HttpMethodPriority = _mod_0c4ydt.HttpMethodPriority;;
@@ -1,11 +1,11 @@
1
- const _mod_54ovg5 = require('./event-emitter.cjs');
2
- exports.UniversalEventEmitter = _mod_54ovg5.UniversalEventEmitter;;
3
- const _mod_o1khjx = require('./stream.cjs');
4
- exports.UniversalStreamResponse = _mod_o1khjx.UniversalStreamResponse;
5
- exports.StreamResponse = _mod_o1khjx.StreamResponse;;
6
- const _mod_4dhbe0 = require('./download.cjs');
7
- exports.UniversalDownloadResponse = _mod_4dhbe0.UniversalDownloadResponse;
8
- exports.DownloadResponse = _mod_4dhbe0.DownloadResponse;;
9
- const _mod_bycysi = require('./upload.cjs');
10
- exports.UniversalUploadResponse = _mod_bycysi.UniversalUploadResponse;
11
- exports.UploadResponse = _mod_bycysi.UploadResponse;;
1
+ const _mod_gn9rf4 = require('./event-emitter.cjs');
2
+ exports.UniversalEventEmitter = _mod_gn9rf4.UniversalEventEmitter;;
3
+ const _mod_jjzs8c = require('./stream.cjs');
4
+ exports.UniversalStreamResponse = _mod_jjzs8c.UniversalStreamResponse;
5
+ exports.StreamResponse = _mod_jjzs8c.StreamResponse;;
6
+ const _mod_la1r06 = require('./download.cjs');
7
+ exports.UniversalDownloadResponse = _mod_la1r06.UniversalDownloadResponse;
8
+ exports.DownloadResponse = _mod_la1r06.DownloadResponse;;
9
+ const _mod_42urzi = require('./upload.cjs');
10
+ exports.UniversalUploadResponse = _mod_42urzi.UniversalUploadResponse;
11
+ exports.UploadResponse = _mod_42urzi.UploadResponse;;
@@ -94,7 +94,8 @@ class RezoCookieJar extends TouchCookieJar {
94
94
  }
95
95
  }
96
96
  }
97
- generateCookies(data) {
97
+ generateCookies(data, url) {
98
+ data = !data && url ? this.getCookiesSync(url) : data;
98
99
  const cookies = !data ? (this.toJSON()?.cookies || []).map((cookie) => new Cookie(cookie)) : data[0] instanceof Cookie ? data : data.map((cookie) => new Cookie(cookie instanceof TouchCookie ? cookie : Cookie.fromJSON(cookie)));
99
100
  const netscape = cookies.map((cookie) => cookie.toNetscapeFormat());
100
101
  const cookieString = cookies.map((cookie) => cookie.cookieString());
@@ -115,8 +116,8 @@ class RezoCookieJar extends TouchCookieJar {
115
116
  setCookiesString
116
117
  };
117
118
  }
118
- cookies() {
119
- return this.generateCookies();
119
+ cookies(url) {
120
+ return this.generateCookies(undefined, url);
120
121
  }
121
122
  parseResponseCookies(cookies) {
122
123
  return this.generateCookies(cookies);
@@ -94,7 +94,8 @@ export class RezoCookieJar extends TouchCookieJar {
94
94
  }
95
95
  }
96
96
  }
97
- generateCookies(data) {
97
+ generateCookies(data, url) {
98
+ data = !data && url ? this.getCookiesSync(url) : data;
98
99
  const cookies = !data ? (this.toJSON()?.cookies || []).map((cookie) => new Cookie(cookie)) : data[0] instanceof Cookie ? data : data.map((cookie) => new Cookie(cookie instanceof TouchCookie ? cookie : Cookie.fromJSON(cookie)));
99
100
  const netscape = cookies.map((cookie) => cookie.toNetscapeFormat());
100
101
  const cookieString = cookies.map((cookie) => cookie.cookieString());
@@ -115,8 +116,8 @@ export class RezoCookieJar extends TouchCookieJar {
115
116
  setCookiesString
116
117
  };
117
118
  }
118
- cookies() {
119
- return this.generateCookies();
119
+ cookies(url) {
120
+ return this.generateCookies(undefined, url);
120
121
  }
121
122
  parseResponseCookies(cookies) {
122
123
  return this.generateCookies(cookies);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rezo",
3
- "version": "1.0.37",
3
+ "version": "1.0.39",
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",