http-cookie-agent
Advanced tools
Comparing version 6.0.3 to 6.0.4
@@ -7,3 +7,2 @@ "use strict"; | ||
exports.createCookieHeaderValue = createCookieHeaderValue; | ||
var _nodeModule = require("node:module"); | ||
var _toughCookie = require("tough-cookie"); | ||
@@ -16,9 +15,5 @@ function createCookieHeaderValue({ | ||
const { | ||
async_UNSTABLE = false, | ||
jar | ||
} = cookieOptions; | ||
const getCookiesSync = async_UNSTABLE ? | ||
// eslint-disable-next-line @typescript-eslint/no-var-requires | ||
require('deasync')(jar.getCookies.bind(jar)) : jar.getCookiesSync.bind(jar); | ||
const cookies = getCookiesSync(requestUrl); | ||
const cookies = jar.getCookiesSync(requestUrl); | ||
const cookiesMap = new Map(cookies.map(cookie => [cookie.key, cookie])); | ||
@@ -25,0 +20,0 @@ for (const passedValue of passedValues) { |
@@ -7,3 +7,2 @@ "use strict"; | ||
exports.saveCookiesFromHeader = saveCookiesFromHeader; | ||
var _nodeModule = require("node:module"); | ||
function saveCookiesFromHeader({ | ||
@@ -15,8 +14,4 @@ cookieOptions, | ||
const { | ||
async_UNSTABLE = false, | ||
jar | ||
} = cookieOptions; | ||
const setCookieSync = async_UNSTABLE ? | ||
// eslint-disable-next-line @typescript-eslint/no-var-requires | ||
require('deasync')(jar.setCookie.bind(jar)) : jar.setCookieSync.bind(jar); | ||
for (const cookie of [cookies].flat()) { | ||
@@ -26,3 +21,3 @@ if (cookie == null) { | ||
} | ||
setCookieSync(cookie, requestUrl, { | ||
jar.setCookieSync(cookie, requestUrl, { | ||
ignoreError: true | ||
@@ -29,0 +24,0 @@ }); |
@@ -7,20 +7,11 @@ "use strict"; | ||
exports.validateCookieOptions = validateCookieOptions; | ||
var _nodeModule = require("node:module"); | ||
function validateCookieOptions( | ||
// eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
opts, resolver = require) { | ||
opts) { | ||
if (!('jar' in opts)) { | ||
throw new TypeError('invalid cookies.jar'); | ||
} | ||
if (opts.async_UNSTABLE) { | ||
try { | ||
resolver('deasync'); | ||
} catch (_err) { | ||
throw new Error('you should install deasync library when cookies.async_UNSTABLE is true.'); | ||
} | ||
} else { | ||
if (!opts.jar.store.synchronous) { | ||
throw new TypeError('you should set cookies.async_UNSTABLE to true for using the asynchronous cookie store.'); | ||
} | ||
if (!opts.jar.store.synchronous) { | ||
throw new TypeError('an asynchronous cookie store is not supported.'); | ||
} | ||
} |
@@ -7,3 +7,2 @@ import type http from 'node:http'; | ||
export interface CookieOptions { | ||
async_UNSTABLE?: true; | ||
jar: CookieJar; | ||
@@ -10,0 +9,0 @@ } |
{ | ||
"name": "http-cookie-agent", | ||
"version": "6.0.3", | ||
"version": "6.0.4", | ||
"description": "Allows cookies with every Node.js HTTP clients.", | ||
@@ -62,9 +62,9 @@ "keywords": [ | ||
"devDependencies": { | ||
"@3846masa/configs": "github:3846masa/configs#f887a7de388aa779c2e4e0dc93159f0085bbcd02", | ||
"@3846masa/configs": "github:3846masa/configs#7159f073ff1b579d4d34f2e279fef03bcf633bea", | ||
"@babel/cli": "7.24.1", | ||
"@babel/core": "7.24.3", | ||
"@babel/core": "7.24.4", | ||
"@babel/plugin-proposal-explicit-resource-management": "7.24.1", | ||
"@babel/preset-env": "7.24.3", | ||
"@babel/preset-env": "7.24.4", | ||
"@babel/preset-typescript": "7.24.1", | ||
"@hapi/wreck": "18.0.1", | ||
"@hapi/wreck": "18.1.0", | ||
"@jest/globals": "29.7.0", | ||
@@ -74,5 +74,4 @@ "@reactioncommerce/babel-remove-es-create-require": "1.0.0", | ||
"@semantic-release/git": "10.0.1", | ||
"@types/deasync": "0.1.5", | ||
"@types/needle": "3.3.0", | ||
"@types/node": "18.19.29", | ||
"@types/node": "18.19.31", | ||
"@types/request": "2.48.12", | ||
@@ -85,3 +84,2 @@ "@types/semver": "7.5.8", | ||
"babel-jest": "29.7.0", | ||
"deasync": "0.1.29", | ||
"disposablestack": "1.1.4", | ||
@@ -93,3 +91,3 @@ "got": "12.6.1", | ||
"node-fetch": "3.3.2", | ||
"phin": "3.7.0", | ||
"phin": "3.7.1", | ||
"proxy": "2.1.1", | ||
@@ -102,3 +100,3 @@ "request": "2.88.2", | ||
"tough-cookie": "4.1.3", | ||
"typescript": "5.4.3", | ||
"typescript": "5.4.5", | ||
"undici": "6.6.2", | ||
@@ -108,3 +106,2 @@ "urllib": "3.23.0" | ||
"peerDependencies": { | ||
"deasync": "^0.1.26", | ||
"tough-cookie": "^4.0.0", | ||
@@ -114,5 +111,2 @@ "undici": "^5.11.0 || ^6.0.0" | ||
"peerDependenciesMeta": { | ||
"deasync": { | ||
"optional": true | ||
}, | ||
"undici": { | ||
@@ -122,3 +116,3 @@ "optional": true | ||
}, | ||
"packageManager": "pnpm@8.15.5", | ||
"packageManager": "pnpm@8.15.7", | ||
"engines": { | ||
@@ -125,0 +119,0 @@ "node": ">=18.0.0" |
@@ -270,22 +270,2 @@ # HTTP Cookie Agent | ||
### Using with an asynchronous Cookie store | ||
`http-cookie-agent` use synchronous CookieJar functions by default. | ||
Therefore, you cannot use an asynchronous Cookie store (e.g. `redis-cookie-store`) by default. | ||
If you want to use an asynchronous Cookie store, set `cookies.async_UNSTABLE` to true. | ||
```js | ||
// node:http, node:https | ||
const jar = new CookieJar(); | ||
const agent = new HttpsCookieAgent({ cookies: { async_UNSTABLE: true, jar } }); | ||
``` | ||
```js | ||
// undici | ||
const jar = new CookieJar(); | ||
const agent = new CookieAgent({ cookies: { async_UNSTABLE: true, jar } } }); | ||
``` | ||
### Using with another Agent library | ||
@@ -292,0 +272,0 @@ |
@@ -5,3 +5,2 @@ import type { CookieJar } from 'tough-cookie'; | ||
export interface CookieOptions { | ||
async_UNSTABLE?: true; | ||
jar: CookieJar; | ||
@@ -8,0 +7,0 @@ } |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
3
37
0
30866
515
342