Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
cookiefile
Advanced tools
Package for operating with Netscape HTTP Cookie File using Node.JS
It can read and create Netscape HTTP Cookie File like this:
# Netscape HTTP Cookie File
# https://curl.haxx.se/docs/http-cookies.html
# This file was generated by node-httpcookie! Edit at your own risk
#HttpOnly_horatius.pro FALSE / FALSE 0 httpOnlyCookie httponly
horatius.pro false / false 0 testKey testValue
google.com false / false 0 secondKey secondValue
In addition to this it can read and create HTTP Response and Request (only generate) headers:
Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly
Cookie: name=value; test=horatius
Max-Age and Same-Site directives is not supported in actual version If you are interested to use it please make pull request
npm install cookiefile --save
let {Cookie, CookieMap, CookieError} = require('http-cookiefile')
It will provide JavaScript Map object with overloaded .set
method
let cookie = new Cookie({
domain: ".google.com",
name: "testKey",
value: "textValue",
https: false, // default
httpOnly: false, //default
crossDomain: false, // default
expire: Date.now() + 600 // default: 0
});
You can just enter your cookiefile path to load it into Map object
let cookieFile = new CookieMap('curl.cookiefile');
Or you can initialize it
let cookieFile = new CookieFile([
cookie // Here is array of Cookie objects
]);
To read from Set-Cookie
response header please use header
method of CookieMap
const cookiesParsed = new CookieMap();
cookiesParsed.header('Set-Cookie: id=a3fWa');
Also, you can load cookie from request header Cookie: a=b;d=c
:
const requestParsed = new CookieMap();
let options = {
domain: ".google.com",
secure: true,
}; // Options, which will be send to Cookie constructor
CookieMap.generate('Cookie: a=b;d=c', {htt})
Overloaded Map.set method. It will get name for the row from cookie object
cookieFile.set(cookie);
You are able to use default Map methods like get, has, clear, and others.
let cookieValue = cookieFile.get('testKey')
You can specify new name for new cookiefile. If you create CookieMap using filename it will be used by default.
cookieFile.save('new.cookiefile');
cookieFile.save(); // If you had specify filename when create object
You are able to use toString methods for Cookie object
cookie.toString()
will return string like
google.com false / false 0 secondKey secondValue
For CookieMap toString
is available too
cookieFile.toString();
will return string will full cookiefile
In addition to this you are able to use toRequestHeader
and toResponseHeader
method of CookieMap
and Cookie
objects:
cookieFile.toRequestHeader({http: true, secure:false});
cookieFile.toResponseHeader();
It will generate something like this:
Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly
Cookie: name=value; test=horatius
You are able to test this package using mocha
git clone https://github.com/horat1us/node-cookiefile
cd node-cookiefile
npm install
npm test
FAQs
Package for operating with Netscape HTTP Cookie File
The npm package cookiefile receives a total of 60,548 weekly downloads. As such, cookiefile popularity was classified as popular.
We found that cookiefile demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.