rezo 1.0.25 → 1.0.27

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.
@@ -205,6 +205,51 @@ export declare class RezoCookieJar extends TouchCookieJar {
205
205
  toArray(): Cookie[];
206
206
  toSetCookies(): string[];
207
207
  toSerializedCookies(): SerializedCookie[];
208
+ /**
209
+ * Get cookies for a request URL with proper browser-like matching.
210
+ * This method properly handles:
211
+ * - Domain matching (exact or parent domain)
212
+ * - Path matching (cookie path must be prefix of request path)
213
+ * - Secure flag (secure cookies only over HTTPS)
214
+ * - Expiry (expired cookies not returned)
215
+ *
216
+ * @param requestUrl - The full request URL including path (e.g., 'https://example.com/api/users')
217
+ * @returns Array of Cookie objects that should be sent with the request
218
+ */
219
+ getCookiesForRequest(requestUrl: string | URL): Cookie[];
220
+ /**
221
+ * Get the Cookie header value for a request URL with proper browser-like matching.
222
+ * Returns cookies in the format: "key1=value1; key2=value2"
223
+ *
224
+ * This is the browser-accurate way to build the Cookie header, properly filtering
225
+ * cookies by domain, path, secure flag, and expiry.
226
+ *
227
+ * @param requestUrl - The full request URL including path (e.g., 'https://example.com/api/users')
228
+ * @returns Cookie header string in "key=value; key=value" format
229
+ */
230
+ getCookieHeader(requestUrl: string | URL): string;
231
+ /**
232
+ * Debug method to show which cookies would be sent for a given URL.
233
+ * Useful for troubleshooting cookie matching issues.
234
+ *
235
+ * @param requestUrl - The full request URL including path
236
+ * @returns Object with matching cookies and the Cookie header that would be sent
237
+ */
238
+ debugCookiesForRequest(requestUrl: string | URL): {
239
+ url: string;
240
+ matchingCookies: Array<{
241
+ key: string;
242
+ value: string;
243
+ domain: string;
244
+ path: string;
245
+ }>;
246
+ cookieHeader: string;
247
+ allCookies: Array<{
248
+ key: string;
249
+ domain: string;
250
+ path: string;
251
+ }>;
252
+ };
208
253
  setCookiesSync(setCookieArray: string[]): Cookies;
209
254
  setCookiesSync(setCookieArray: string[], url: string): Cookies;
210
255
  setCookiesSync(cookiesString: string): Cookies;
@@ -205,6 +205,51 @@ export declare class RezoCookieJar extends TouchCookieJar {
205
205
  toArray(): Cookie[];
206
206
  toSetCookies(): string[];
207
207
  toSerializedCookies(): SerializedCookie[];
208
+ /**
209
+ * Get cookies for a request URL with proper browser-like matching.
210
+ * This method properly handles:
211
+ * - Domain matching (exact or parent domain)
212
+ * - Path matching (cookie path must be prefix of request path)
213
+ * - Secure flag (secure cookies only over HTTPS)
214
+ * - Expiry (expired cookies not returned)
215
+ *
216
+ * @param requestUrl - The full request URL including path (e.g., 'https://example.com/api/users')
217
+ * @returns Array of Cookie objects that should be sent with the request
218
+ */
219
+ getCookiesForRequest(requestUrl: string | URL): Cookie[];
220
+ /**
221
+ * Get the Cookie header value for a request URL with proper browser-like matching.
222
+ * Returns cookies in the format: "key1=value1; key2=value2"
223
+ *
224
+ * This is the browser-accurate way to build the Cookie header, properly filtering
225
+ * cookies by domain, path, secure flag, and expiry.
226
+ *
227
+ * @param requestUrl - The full request URL including path (e.g., 'https://example.com/api/users')
228
+ * @returns Cookie header string in "key=value; key=value" format
229
+ */
230
+ getCookieHeader(requestUrl: string | URL): string;
231
+ /**
232
+ * Debug method to show which cookies would be sent for a given URL.
233
+ * Useful for troubleshooting cookie matching issues.
234
+ *
235
+ * @param requestUrl - The full request URL including path
236
+ * @returns Object with matching cookies and the Cookie header that would be sent
237
+ */
238
+ debugCookiesForRequest(requestUrl: string | URL): {
239
+ url: string;
240
+ matchingCookies: Array<{
241
+ key: string;
242
+ value: string;
243
+ domain: string;
244
+ path: string;
245
+ }>;
246
+ cookieHeader: string;
247
+ allCookies: Array<{
248
+ key: string;
249
+ domain: string;
250
+ path: string;
251
+ }>;
252
+ };
208
253
  setCookiesSync(setCookieArray: string[]): Cookies;
209
254
  setCookiesSync(setCookieArray: string[], url: string): Cookies;
210
255
  setCookiesSync(cookiesString: string): Cookies;
@@ -205,6 +205,51 @@ export declare class RezoCookieJar extends TouchCookieJar {
205
205
  toArray(): Cookie[];
206
206
  toSetCookies(): string[];
207
207
  toSerializedCookies(): SerializedCookie[];
208
+ /**
209
+ * Get cookies for a request URL with proper browser-like matching.
210
+ * This method properly handles:
211
+ * - Domain matching (exact or parent domain)
212
+ * - Path matching (cookie path must be prefix of request path)
213
+ * - Secure flag (secure cookies only over HTTPS)
214
+ * - Expiry (expired cookies not returned)
215
+ *
216
+ * @param requestUrl - The full request URL including path (e.g., 'https://example.com/api/users')
217
+ * @returns Array of Cookie objects that should be sent with the request
218
+ */
219
+ getCookiesForRequest(requestUrl: string | URL): Cookie[];
220
+ /**
221
+ * Get the Cookie header value for a request URL with proper browser-like matching.
222
+ * Returns cookies in the format: "key1=value1; key2=value2"
223
+ *
224
+ * This is the browser-accurate way to build the Cookie header, properly filtering
225
+ * cookies by domain, path, secure flag, and expiry.
226
+ *
227
+ * @param requestUrl - The full request URL including path (e.g., 'https://example.com/api/users')
228
+ * @returns Cookie header string in "key=value; key=value" format
229
+ */
230
+ getCookieHeader(requestUrl: string | URL): string;
231
+ /**
232
+ * Debug method to show which cookies would be sent for a given URL.
233
+ * Useful for troubleshooting cookie matching issues.
234
+ *
235
+ * @param requestUrl - The full request URL including path
236
+ * @returns Object with matching cookies and the Cookie header that would be sent
237
+ */
238
+ debugCookiesForRequest(requestUrl: string | URL): {
239
+ url: string;
240
+ matchingCookies: Array<{
241
+ key: string;
242
+ value: string;
243
+ domain: string;
244
+ path: string;
245
+ }>;
246
+ cookieHeader: string;
247
+ allCookies: Array<{
248
+ key: string;
249
+ domain: string;
250
+ path: string;
251
+ }>;
252
+ };
208
253
  setCookiesSync(setCookieArray: string[]): Cookies;
209
254
  setCookiesSync(setCookieArray: string[], url: string): Cookies;
210
255
  setCookiesSync(cookiesString: string): Cookies;
@@ -205,6 +205,51 @@ export declare class RezoCookieJar extends TouchCookieJar {
205
205
  toArray(): Cookie[];
206
206
  toSetCookies(): string[];
207
207
  toSerializedCookies(): SerializedCookie[];
208
+ /**
209
+ * Get cookies for a request URL with proper browser-like matching.
210
+ * This method properly handles:
211
+ * - Domain matching (exact or parent domain)
212
+ * - Path matching (cookie path must be prefix of request path)
213
+ * - Secure flag (secure cookies only over HTTPS)
214
+ * - Expiry (expired cookies not returned)
215
+ *
216
+ * @param requestUrl - The full request URL including path (e.g., 'https://example.com/api/users')
217
+ * @returns Array of Cookie objects that should be sent with the request
218
+ */
219
+ getCookiesForRequest(requestUrl: string | URL): Cookie[];
220
+ /**
221
+ * Get the Cookie header value for a request URL with proper browser-like matching.
222
+ * Returns cookies in the format: "key1=value1; key2=value2"
223
+ *
224
+ * This is the browser-accurate way to build the Cookie header, properly filtering
225
+ * cookies by domain, path, secure flag, and expiry.
226
+ *
227
+ * @param requestUrl - The full request URL including path (e.g., 'https://example.com/api/users')
228
+ * @returns Cookie header string in "key=value; key=value" format
229
+ */
230
+ getCookieHeader(requestUrl: string | URL): string;
231
+ /**
232
+ * Debug method to show which cookies would be sent for a given URL.
233
+ * Useful for troubleshooting cookie matching issues.
234
+ *
235
+ * @param requestUrl - The full request URL including path
236
+ * @returns Object with matching cookies and the Cookie header that would be sent
237
+ */
238
+ debugCookiesForRequest(requestUrl: string | URL): {
239
+ url: string;
240
+ matchingCookies: Array<{
241
+ key: string;
242
+ value: string;
243
+ domain: string;
244
+ path: string;
245
+ }>;
246
+ cookieHeader: string;
247
+ allCookies: Array<{
248
+ key: string;
249
+ domain: string;
250
+ path: string;
251
+ }>;
252
+ };
208
253
  setCookiesSync(setCookieArray: string[]): Cookies;
209
254
  setCookiesSync(setCookieArray: string[], url: string): Cookies;
210
255
  setCookiesSync(cookiesString: string): Cookies;
@@ -205,6 +205,51 @@ export declare class RezoCookieJar extends TouchCookieJar {
205
205
  toArray(): Cookie[];
206
206
  toSetCookies(): string[];
207
207
  toSerializedCookies(): SerializedCookie[];
208
+ /**
209
+ * Get cookies for a request URL with proper browser-like matching.
210
+ * This method properly handles:
211
+ * - Domain matching (exact or parent domain)
212
+ * - Path matching (cookie path must be prefix of request path)
213
+ * - Secure flag (secure cookies only over HTTPS)
214
+ * - Expiry (expired cookies not returned)
215
+ *
216
+ * @param requestUrl - The full request URL including path (e.g., 'https://example.com/api/users')
217
+ * @returns Array of Cookie objects that should be sent with the request
218
+ */
219
+ getCookiesForRequest(requestUrl: string | URL): Cookie[];
220
+ /**
221
+ * Get the Cookie header value for a request URL with proper browser-like matching.
222
+ * Returns cookies in the format: "key1=value1; key2=value2"
223
+ *
224
+ * This is the browser-accurate way to build the Cookie header, properly filtering
225
+ * cookies by domain, path, secure flag, and expiry.
226
+ *
227
+ * @param requestUrl - The full request URL including path (e.g., 'https://example.com/api/users')
228
+ * @returns Cookie header string in "key=value; key=value" format
229
+ */
230
+ getCookieHeader(requestUrl: string | URL): string;
231
+ /**
232
+ * Debug method to show which cookies would be sent for a given URL.
233
+ * Useful for troubleshooting cookie matching issues.
234
+ *
235
+ * @param requestUrl - The full request URL including path
236
+ * @returns Object with matching cookies and the Cookie header that would be sent
237
+ */
238
+ debugCookiesForRequest(requestUrl: string | URL): {
239
+ url: string;
240
+ matchingCookies: Array<{
241
+ key: string;
242
+ value: string;
243
+ domain: string;
244
+ path: string;
245
+ }>;
246
+ cookieHeader: string;
247
+ allCookies: Array<{
248
+ key: string;
249
+ domain: string;
250
+ path: string;
251
+ }>;
252
+ };
208
253
  setCookiesSync(setCookieArray: string[]): Cookies;
209
254
  setCookiesSync(setCookieArray: string[], url: string): Cookies;
210
255
  setCookiesSync(cookiesString: string): Cookies;
@@ -205,6 +205,51 @@ export declare class RezoCookieJar extends TouchCookieJar {
205
205
  toArray(): Cookie[];
206
206
  toSetCookies(): string[];
207
207
  toSerializedCookies(): SerializedCookie[];
208
+ /**
209
+ * Get cookies for a request URL with proper browser-like matching.
210
+ * This method properly handles:
211
+ * - Domain matching (exact or parent domain)
212
+ * - Path matching (cookie path must be prefix of request path)
213
+ * - Secure flag (secure cookies only over HTTPS)
214
+ * - Expiry (expired cookies not returned)
215
+ *
216
+ * @param requestUrl - The full request URL including path (e.g., 'https://example.com/api/users')
217
+ * @returns Array of Cookie objects that should be sent with the request
218
+ */
219
+ getCookiesForRequest(requestUrl: string | URL): Cookie[];
220
+ /**
221
+ * Get the Cookie header value for a request URL with proper browser-like matching.
222
+ * Returns cookies in the format: "key1=value1; key2=value2"
223
+ *
224
+ * This is the browser-accurate way to build the Cookie header, properly filtering
225
+ * cookies by domain, path, secure flag, and expiry.
226
+ *
227
+ * @param requestUrl - The full request URL including path (e.g., 'https://example.com/api/users')
228
+ * @returns Cookie header string in "key=value; key=value" format
229
+ */
230
+ getCookieHeader(requestUrl: string | URL): string;
231
+ /**
232
+ * Debug method to show which cookies would be sent for a given URL.
233
+ * Useful for troubleshooting cookie matching issues.
234
+ *
235
+ * @param requestUrl - The full request URL including path
236
+ * @returns Object with matching cookies and the Cookie header that would be sent
237
+ */
238
+ debugCookiesForRequest(requestUrl: string | URL): {
239
+ url: string;
240
+ matchingCookies: Array<{
241
+ key: string;
242
+ value: string;
243
+ domain: string;
244
+ path: string;
245
+ }>;
246
+ cookieHeader: string;
247
+ allCookies: Array<{
248
+ key: string;
249
+ domain: string;
250
+ path: string;
251
+ }>;
252
+ };
208
253
  setCookiesSync(setCookieArray: string[]): Cookies;
209
254
  setCookiesSync(setCookieArray: string[], url: string): Cookies;
210
255
  setCookiesSync(cookiesString: string): Cookies;
@@ -1,36 +1,36 @@
1
- const _mod_nllk9k = require('./crawler.cjs');
2
- exports.Crawler = _mod_nllk9k.Crawler;;
3
- const _mod_qrdenz = require('./crawler-options.cjs');
4
- exports.CrawlerOptions = _mod_qrdenz.CrawlerOptions;;
5
- const _mod_zrawfy = require('../cache/file-cacher.cjs');
6
- exports.FileCacher = _mod_zrawfy.FileCacher;;
7
- const _mod_uvh0y9 = require('../cache/url-store.cjs');
8
- exports.UrlStore = _mod_uvh0y9.UrlStore;;
9
- const _mod_cg499j = require('./addon/oxylabs/index.cjs');
10
- exports.Oxylabs = _mod_cg499j.Oxylabs;;
11
- const _mod_vqortf = require('./addon/oxylabs/options.cjs');
12
- exports.OXYLABS_BROWSER_TYPES = _mod_vqortf.OXYLABS_BROWSER_TYPES;
13
- exports.OXYLABS_COMMON_LOCALES = _mod_vqortf.OXYLABS_COMMON_LOCALES;
14
- exports.OXYLABS_COMMON_GEO_LOCATIONS = _mod_vqortf.OXYLABS_COMMON_GEO_LOCATIONS;
15
- exports.OXYLABS_US_STATES = _mod_vqortf.OXYLABS_US_STATES;
16
- exports.OXYLABS_EUROPEAN_COUNTRIES = _mod_vqortf.OXYLABS_EUROPEAN_COUNTRIES;
17
- exports.OXYLABS_ASIAN_COUNTRIES = _mod_vqortf.OXYLABS_ASIAN_COUNTRIES;
18
- exports.getRandomOxylabsBrowserType = _mod_vqortf.getRandomBrowserType;
19
- exports.getRandomOxylabsLocale = _mod_vqortf.getRandomLocale;
20
- exports.getRandomOxylabsGeoLocation = _mod_vqortf.getRandomGeoLocation;;
21
- const _mod_tmdzgo = require('./addon/decodo/index.cjs');
22
- exports.Decodo = _mod_tmdzgo.Decodo;;
23
- const _mod_lmu5vf = require('./addon/decodo/options.cjs');
24
- exports.DECODO_DEVICE_TYPES = _mod_lmu5vf.DECODO_DEVICE_TYPES;
25
- exports.DECODO_HEADLESS_MODES = _mod_lmu5vf.DECODO_HEADLESS_MODES;
26
- exports.DECODO_COMMON_LOCALES = _mod_lmu5vf.DECODO_COMMON_LOCALES;
27
- exports.DECODO_COMMON_COUNTRIES = _mod_lmu5vf.DECODO_COMMON_COUNTRIES;
28
- exports.DECODO_EUROPEAN_COUNTRIES = _mod_lmu5vf.DECODO_EUROPEAN_COUNTRIES;
29
- exports.DECODO_ASIAN_COUNTRIES = _mod_lmu5vf.DECODO_ASIAN_COUNTRIES;
30
- exports.DECODO_US_STATES = _mod_lmu5vf.DECODO_US_STATES;
31
- exports.DECODO_COMMON_CITIES = _mod_lmu5vf.DECODO_COMMON_CITIES;
32
- exports.getRandomDecodoDeviceType = _mod_lmu5vf.getRandomDeviceType;
33
- exports.getRandomDecodoLocale = _mod_lmu5vf.getRandomLocale;
34
- exports.getRandomDecodoCountry = _mod_lmu5vf.getRandomCountry;
35
- exports.getRandomDecodoCity = _mod_lmu5vf.getRandomCity;
36
- exports.generateDecodoSessionId = _mod_lmu5vf.generateSessionId;;
1
+ const _mod_5rfty9 = require('./crawler.cjs');
2
+ exports.Crawler = _mod_5rfty9.Crawler;;
3
+ const _mod_q2p8s0 = require('./crawler-options.cjs');
4
+ exports.CrawlerOptions = _mod_q2p8s0.CrawlerOptions;;
5
+ const _mod_7r8b7r = require('../cache/file-cacher.cjs');
6
+ exports.FileCacher = _mod_7r8b7r.FileCacher;;
7
+ const _mod_sftl5f = require('../cache/url-store.cjs');
8
+ exports.UrlStore = _mod_sftl5f.UrlStore;;
9
+ const _mod_unhfzc = require('./addon/oxylabs/index.cjs');
10
+ exports.Oxylabs = _mod_unhfzc.Oxylabs;;
11
+ const _mod_rvlmj1 = require('./addon/oxylabs/options.cjs');
12
+ exports.OXYLABS_BROWSER_TYPES = _mod_rvlmj1.OXYLABS_BROWSER_TYPES;
13
+ exports.OXYLABS_COMMON_LOCALES = _mod_rvlmj1.OXYLABS_COMMON_LOCALES;
14
+ exports.OXYLABS_COMMON_GEO_LOCATIONS = _mod_rvlmj1.OXYLABS_COMMON_GEO_LOCATIONS;
15
+ exports.OXYLABS_US_STATES = _mod_rvlmj1.OXYLABS_US_STATES;
16
+ exports.OXYLABS_EUROPEAN_COUNTRIES = _mod_rvlmj1.OXYLABS_EUROPEAN_COUNTRIES;
17
+ exports.OXYLABS_ASIAN_COUNTRIES = _mod_rvlmj1.OXYLABS_ASIAN_COUNTRIES;
18
+ exports.getRandomOxylabsBrowserType = _mod_rvlmj1.getRandomBrowserType;
19
+ exports.getRandomOxylabsLocale = _mod_rvlmj1.getRandomLocale;
20
+ exports.getRandomOxylabsGeoLocation = _mod_rvlmj1.getRandomGeoLocation;;
21
+ const _mod_ue1bzq = require('./addon/decodo/index.cjs');
22
+ exports.Decodo = _mod_ue1bzq.Decodo;;
23
+ const _mod_897fd1 = require('./addon/decodo/options.cjs');
24
+ exports.DECODO_DEVICE_TYPES = _mod_897fd1.DECODO_DEVICE_TYPES;
25
+ exports.DECODO_HEADLESS_MODES = _mod_897fd1.DECODO_HEADLESS_MODES;
26
+ exports.DECODO_COMMON_LOCALES = _mod_897fd1.DECODO_COMMON_LOCALES;
27
+ exports.DECODO_COMMON_COUNTRIES = _mod_897fd1.DECODO_COMMON_COUNTRIES;
28
+ exports.DECODO_EUROPEAN_COUNTRIES = _mod_897fd1.DECODO_EUROPEAN_COUNTRIES;
29
+ exports.DECODO_ASIAN_COUNTRIES = _mod_897fd1.DECODO_ASIAN_COUNTRIES;
30
+ exports.DECODO_US_STATES = _mod_897fd1.DECODO_US_STATES;
31
+ exports.DECODO_COMMON_CITIES = _mod_897fd1.DECODO_COMMON_CITIES;
32
+ exports.getRandomDecodoDeviceType = _mod_897fd1.getRandomDeviceType;
33
+ exports.getRandomDecodoLocale = _mod_897fd1.getRandomLocale;
34
+ exports.getRandomDecodoCountry = _mod_897fd1.getRandomCountry;
35
+ exports.getRandomDecodoCity = _mod_897fd1.getRandomCity;
36
+ exports.generateDecodoSessionId = _mod_897fd1.generateSessionId;;
@@ -1,8 +1,8 @@
1
1
  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
- const _mod_0qa1hk = require('./manager.cjs');
5
- exports.ProxyManager = _mod_0qa1hk.ProxyManager;;
4
+ const _mod_xspbrb = require('./manager.cjs');
5
+ exports.ProxyManager = _mod_xspbrb.ProxyManager;;
6
6
  function createOptions(uri, opts) {
7
7
  if (uri instanceof URL || typeof uri === "string") {
8
8
  return {
@@ -102,7 +102,7 @@ function rezoProxy(uri, over, opts) {
102
102
  if (over === "http") {
103
103
  return new RezoHttpSocks(config.uri, config.opts);
104
104
  }
105
- return new RezoHttpsSocks(config.uri, { ...config.opts, rejectUnauthorized: false });
105
+ return new RezoHttpsSocks(config.uri, { ...config.opts, rejectUnauthorized: config.opts?.rejectUnauthorized ?? false });
106
106
  } else {
107
107
  const isHttp = uri.startsWith("http:");
108
108
  const isHttps = uri.startsWith("https:");
@@ -117,7 +117,7 @@ function rezoProxy(uri, over, opts) {
117
117
  }
118
118
  if (isHttps) {
119
119
  const config = createOptions(uri, over || opts);
120
- return new RezoHttpsSocks(config.uri, { ...config.opts, rejectUnauthorized: false });
120
+ return new RezoHttpsSocks(config.uri, { ...config.opts, rejectUnauthorized: config.opts?.rejectUnauthorized ?? false });
121
121
  }
122
122
  const proxy = parseProxyString(uri);
123
123
  if (proxy) {
@@ -133,8 +133,7 @@ function rezoProxy(uri, over, opts) {
133
133
  if (over === "http") {
134
134
  return new RezoHttpSocks(config.uri, config.opts);
135
135
  }
136
- console.log(config.uri);
137
- return new RezoHttpsSocks(config.uri, { ...config.opts, rejectUnauthorized: false });
136
+ return new RezoHttpsSocks(config.uri, { ...config.opts, rejectUnauthorized: config.opts?.rejectUnauthorized ?? false });
138
137
  }
139
138
  const config = createOptions(uri, opts);
140
139
  return new RezoSocksProxy(config.uri, config.opts);
@@ -101,7 +101,7 @@ export function rezoProxy(uri, over, opts) {
101
101
  if (over === "http") {
102
102
  return new RezoHttpSocks(config.uri, config.opts);
103
103
  }
104
- return new RezoHttpsSocks(config.uri, { ...config.opts, rejectUnauthorized: false });
104
+ return new RezoHttpsSocks(config.uri, { ...config.opts, rejectUnauthorized: config.opts?.rejectUnauthorized ?? false });
105
105
  } else {
106
106
  const isHttp = uri.startsWith("http:");
107
107
  const isHttps = uri.startsWith("https:");
@@ -116,7 +116,7 @@ export function rezoProxy(uri, over, opts) {
116
116
  }
117
117
  if (isHttps) {
118
118
  const config = createOptions(uri, over || opts);
119
- return new RezoHttpsSocks(config.uri, { ...config.opts, rejectUnauthorized: false });
119
+ return new RezoHttpsSocks(config.uri, { ...config.opts, rejectUnauthorized: config.opts?.rejectUnauthorized ?? false });
120
120
  }
121
121
  const proxy = parseProxyString(uri);
122
122
  if (proxy) {
@@ -132,8 +132,7 @@ export function rezoProxy(uri, over, opts) {
132
132
  if (over === "http") {
133
133
  return new RezoHttpSocks(config.uri, config.opts);
134
134
  }
135
- console.log(config.uri);
136
- return new RezoHttpsSocks(config.uri, { ...config.opts, rejectUnauthorized: false });
135
+ return new RezoHttpsSocks(config.uri, { ...config.opts, rejectUnauthorized: config.opts?.rejectUnauthorized ?? false });
137
136
  }
138
137
  const config = createOptions(uri, opts);
139
138
  return new RezoSocksProxy(config.uri, config.opts);
@@ -1,8 +1,8 @@
1
- const _mod_0h7eic = require('./queue.cjs');
2
- exports.RezoQueue = _mod_0h7eic.RezoQueue;;
3
- const _mod_0yp12v = require('./http-queue.cjs');
4
- exports.HttpQueue = _mod_0yp12v.HttpQueue;
5
- exports.extractDomain = _mod_0yp12v.extractDomain;;
6
- const _mod_a7m6vx = require('./types.cjs');
7
- exports.Priority = _mod_a7m6vx.Priority;
8
- exports.HttpMethodPriority = _mod_a7m6vx.HttpMethodPriority;;
1
+ const _mod_gkacib = require('./queue.cjs');
2
+ exports.RezoQueue = _mod_gkacib.RezoQueue;;
3
+ const _mod_3w4xq6 = require('./http-queue.cjs');
4
+ exports.HttpQueue = _mod_3w4xq6.HttpQueue;
5
+ exports.extractDomain = _mod_3w4xq6.extractDomain;;
6
+ const _mod_5dkbxw = require('./types.cjs');
7
+ exports.Priority = _mod_5dkbxw.Priority;
8
+ exports.HttpMethodPriority = _mod_5dkbxw.HttpMethodPriority;;
@@ -156,6 +156,45 @@ class RezoCookieJar extends TouchCookieJar {
156
156
  toSerializedCookies() {
157
157
  return this.cookies().serialized;
158
158
  }
159
+ getCookiesForRequest(requestUrl) {
160
+ try {
161
+ const url = typeof requestUrl === "string" ? new URL(requestUrl) : requestUrl;
162
+ const fullUrl = url.href;
163
+ const cookies = this.getCookiesSync(fullUrl);
164
+ return cookies.map((c) => new Cookie(c));
165
+ } catch (e) {
166
+ return this.cookies().array;
167
+ }
168
+ }
169
+ getCookieHeader(requestUrl) {
170
+ try {
171
+ const url = typeof requestUrl === "string" ? new URL(requestUrl) : requestUrl;
172
+ const fullUrl = url.href;
173
+ return this.getCookieStringSync(fullUrl);
174
+ } catch (e) {
175
+ return "";
176
+ }
177
+ }
178
+ debugCookiesForRequest(requestUrl) {
179
+ const url = typeof requestUrl === "string" ? requestUrl : requestUrl.href;
180
+ const matching = this.getCookiesForRequest(requestUrl);
181
+ const all = this.cookies().array;
182
+ return {
183
+ url,
184
+ matchingCookies: matching.map((c) => ({
185
+ key: c.key,
186
+ value: c.value,
187
+ domain: c.domain || "",
188
+ path: c.path || "/"
189
+ })),
190
+ cookieHeader: this.getCookieHeader(requestUrl),
191
+ allCookies: all.map((c) => ({
192
+ key: c.key,
193
+ domain: c.domain || "",
194
+ path: c.path || "/"
195
+ }))
196
+ };
197
+ }
159
198
  setCookiesSync(cookiesData, url) {
160
199
  const cookies = [];
161
200
  if (Array.isArray(cookiesData)) {
@@ -156,6 +156,45 @@ export class RezoCookieJar extends TouchCookieJar {
156
156
  toSerializedCookies() {
157
157
  return this.cookies().serialized;
158
158
  }
159
+ getCookiesForRequest(requestUrl) {
160
+ try {
161
+ const url = typeof requestUrl === "string" ? new URL(requestUrl) : requestUrl;
162
+ const fullUrl = url.href;
163
+ const cookies = this.getCookiesSync(fullUrl);
164
+ return cookies.map((c) => new Cookie(c));
165
+ } catch (e) {
166
+ return this.cookies().array;
167
+ }
168
+ }
169
+ getCookieHeader(requestUrl) {
170
+ try {
171
+ const url = typeof requestUrl === "string" ? new URL(requestUrl) : requestUrl;
172
+ const fullUrl = url.href;
173
+ return this.getCookieStringSync(fullUrl);
174
+ } catch (e) {
175
+ return "";
176
+ }
177
+ }
178
+ debugCookiesForRequest(requestUrl) {
179
+ const url = typeof requestUrl === "string" ? requestUrl : requestUrl.href;
180
+ const matching = this.getCookiesForRequest(requestUrl);
181
+ const all = this.cookies().array;
182
+ return {
183
+ url,
184
+ matchingCookies: matching.map((c) => ({
185
+ key: c.key,
186
+ value: c.value,
187
+ domain: c.domain || "",
188
+ path: c.path || "/"
189
+ })),
190
+ cookieHeader: this.getCookieHeader(requestUrl),
191
+ allCookies: all.map((c) => ({
192
+ key: c.key,
193
+ domain: c.domain || "",
194
+ path: c.path || "/"
195
+ }))
196
+ };
197
+ }
159
198
  setCookiesSync(cookiesData, url) {
160
199
  const cookies = [];
161
200
  if (Array.isArray(cookiesData)) {
@@ -1,4 +1,4 @@
1
- const { Cookie, RezoCookieJar } = require('./cookies.cjs');
1
+ const { RezoCookieJar } = require('./cookies.cjs');
2
2
  const RezoFormData = require('./form-data.cjs');
3
3
  const { RezoHeaders } = require('./headers.cjs');
4
4
  const { RezoURLSearchParams } = require('./data-operations.cjs');
@@ -268,11 +268,23 @@ function prepareHTTPOptions(options, jar, addedOptions, config) {
268
268
  }
269
269
  }
270
270
  const resolvedUrl = fetchOptions.url || options.url;
271
- const cookieUrl = resolvedUrl instanceof URL ? resolvedUrl.href : resolvedUrl;
271
+ let cookieUrl;
272
+ if (resolvedUrl instanceof URL) {
273
+ cookieUrl = resolvedUrl.href;
274
+ } else if (typeof resolvedUrl === "string") {
275
+ try {
276
+ const parsed = new URL(resolvedUrl);
277
+ cookieUrl = parsed.href;
278
+ } catch {
279
+ cookieUrl = resolvedUrl;
280
+ }
281
+ } else {
282
+ cookieUrl = String(resolvedUrl);
283
+ }
272
284
  let cookiesString = "";
273
285
  if (config.useCookies) {
274
- requestCookies = cookieJar.getCookiesSync(cookieUrl).map((c) => new Cookie(c));
275
- cookiesString = cookieJar.getCookieStringSync(cookieUrl);
286
+ requestCookies = cookieJar.getCookiesForRequest(cookieUrl);
287
+ cookiesString = cookieJar.getCookieHeader(cookieUrl);
276
288
  }
277
289
  if (options.xsrfCookieName && options.xsrfHeaderName && requestCookies.length > 0) {
278
290
  const xsrfCookie = requestCookies.find((c) => c.key === options.xsrfCookieName);
@@ -1,4 +1,4 @@
1
- import { Cookie, RezoCookieJar } from './cookies.js';
1
+ import { RezoCookieJar } from './cookies.js';
2
2
  import RezoFormData from './form-data.js';
3
3
  import { RezoHeaders } from './headers.js';
4
4
  import { RezoURLSearchParams } from './data-operations.js';
@@ -268,11 +268,23 @@ export function prepareHTTPOptions(options, jar, addedOptions, config) {
268
268
  }
269
269
  }
270
270
  const resolvedUrl = fetchOptions.url || options.url;
271
- const cookieUrl = resolvedUrl instanceof URL ? resolvedUrl.href : resolvedUrl;
271
+ let cookieUrl;
272
+ if (resolvedUrl instanceof URL) {
273
+ cookieUrl = resolvedUrl.href;
274
+ } else if (typeof resolvedUrl === "string") {
275
+ try {
276
+ const parsed = new URL(resolvedUrl);
277
+ cookieUrl = parsed.href;
278
+ } catch {
279
+ cookieUrl = resolvedUrl;
280
+ }
281
+ } else {
282
+ cookieUrl = String(resolvedUrl);
283
+ }
272
284
  let cookiesString = "";
273
285
  if (config.useCookies) {
274
- requestCookies = cookieJar.getCookiesSync(cookieUrl).map((c) => new Cookie(c));
275
- cookiesString = cookieJar.getCookieStringSync(cookieUrl);
286
+ requestCookies = cookieJar.getCookiesForRequest(cookieUrl);
287
+ cookiesString = cookieJar.getCookieHeader(cookieUrl);
276
288
  }
277
289
  if (options.xsrfCookieName && options.xsrfHeaderName && requestCookies.length > 0) {
278
290
  const xsrfCookie = requestCookies.find((c) => c.key === options.xsrfCookieName);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rezo",
3
- "version": "1.0.25",
3
+ "version": "1.0.27",
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",