1.2.2 • Published 5 months ago

cookie-string-parser v1.2.2

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

cookie-string-parser

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.

Installation

Install package with npm

  npm install cookie-string-parser

Usage/Examples

javascript

cookieParser-middleware

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...");
})

OR

parseCookieString-parse cookie string

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...");
})

setToken_getValue JWT

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

cookieParser-middleware

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...");
});

OR

parseCookieString-parse cookie string

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...");
});

setToken_getValue JWT

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...");
});

Build

npm run build

License

MIT

1.3.2

5 months ago

1.2.2

5 months ago

1.3.1

5 months ago

1.2.1

11 months ago

1.1.1

12 months ago

1.1.0

12 months ago

1.0.6

12 months ago

1.0.5

12 months ago

1.0.4

12 months ago

1.0.3

12 months ago

0.0.2

12 months ago

1.0.1

12 months ago

1.0.0

12 months ago