This NPM package provides a simple cookie parser middleware and function to parse cookie strings for Express.js applications.It can also used in tokenized value using JWT and extract the value from that token.
Install package with npm
npm install cookie-string-parserjavascript
const express=require("express");
const {cookieParser}=require("cookie-string-parser");
const PORT=process.env.PORT;
const app=express();
app.use(cookieParser);
app.get("/",(req,res)=>{
console.log(req.cookies); // it will give key-value pair of cookies
return res.status(200).send(req.cookies);
})
app.listen(PORT,()=>{
console.log("staring...");
})const express=require("express");
const {parseCookieString}=require("cookie-string-parser");
const PORT=process.env.PORT;
const app=express();
app.get("/",(req,res)=>{
let cookieObj=parseCookieString(req.headers.cookies);
console.log(cookieObj); // it will give key-value pair of cookies
return res.status(200).send(cookieObj);
})
app.listen(PORT,()=>{
console.log("staring...");
})const express=require("express");
const {create_JWTtoken,verify_JWTtoken}=require("cookie-string-parser");
const PORT=process.env.PORT;
const app=express();
app.use(express.json());
app.post('/setCookie',(req,res)=>{
const {username,email}=req.body;
const token= create_JWTtoken([username,email],process.env.secret,'1d');
res.cookie('jwt',token);
return res.status(200).send('cookie set');
})
app.get('/getCookie_value',(req,res)=>{
try{
const token=req.cookies.jwt;
const value=verify_JWTtoken(token,process.env.secret)?.data;
const username=value[0];
const username_email=value[1];
}catch(err){
throw new Error(err.message); //it is invalid signature
}
return res.status(200).send({username,username_email});
})
app.listen(PORT,()=>{
console.log("staring...");
})typescript
import express, { Application, Request, Response, NextFunction } from 'express';
import { cookieParser } from 'cookie-string-parser';
const app: Application = express();
app.use(cookieParser);
app.get('/', (req: Request, res: Response)=> {
console.log(req.cookies); // it will give key-value pair of cookies
return res.status(200).send(req.cookies);
});
app.listen(PORT,()=>{
console.log("staring...");
});import express, { Application, Request, Response, NextFunction } from 'express';
import { parseCookieString } from 'cookie-string-parser';
const app: Application = express();
app.get("/", (req: Request, res: Response) =>{
let cookieObj=parseCookieString(req.headers.cookie);
console.log(cookieObj); // it will give key-value pair of cookies
return res.status(200).send(cookieObj);
});
app.listen(PORT,()=>{
console.log("staring...");
});import express, { Request, Response } from "express";
import { create_JWTtoken, verify_JWTtoken } from "cookie-string-parser";
PORT=process.env.PORT;
const app = express();
app.use(express.json());
app.post('/setCookie', (req: Request, res: Response) => {
const { username, email } = req.body;
const token = create_JWTtoken([username, email], process.env.secret as string,'1d');
res.cookie('jwt', token);
return res.status(200).send('cookie set');
});
app.get('/getCookie_value', (req: Request, res: Response) => {
const token = req.cookies.jwt;
try{
const value = verify_JWTtoken(token, process.env.secret as string)?.data;
const username = value[0];
const email = value[1];
}catch(e:any){
throw new Error(err.message); //it is invalid signature
}
return res.status(200).send({ username, email });
});
app.listen(PORT, () => {
console.log("starting...");
});npm run build