
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
node-duplicate-req
Advanced tools
A lightweight api side duplicate check
npm install node-duplicate-req
In order for it to work it must be placed after request body parser. Redis must be installed
First require package and instantiate it with redisClient
var dupCheck = require('node-duplicate-req')( redisClient );
You can also pass in an options object at instantiation for shared options between all middleware.
NOTE: if no options are passed defaults will be used.
var dupCheck = require('node-duplicate-req')( redisClient, { keyProperty: 'req.user.id', ttl: 30 } );
Then create the middleware you want to use, here you can also pass in an options object that will only be used for this specific endpoint.
var userDupCheckMiddleware = dupCheck.middleware( { prefix: 'users-', ignoreProperties: [ 'user.age', 'user.notes'] } );
var users = require('../controllers/users');
server.post( '/users', dupCheckMiddleware, users.create );
Or create middleware without options, Defaults are at the bottom of the readme
var dupCheckMiddleware = dupCheck.middleware();
Optional (Custom Request Override Header):
| Property | DataType | Default | Description |
|---|---|---|---|
| ttl | Number | 60 | How many seconds you want it to live in the redis database |
| keyValue | String | req.authorization.credentials + method and route | The key to save in the redis database |
| prefix | String | '' | prefix to be included with each redis entry |
| ignoreEmptyBody | Boolean | true | When set to true it does not save empty object in redis database |
| ignoreProperties | Array | [] | Properties you want ignored from req object, default empty array. Give absolute path to property |
| infoLogFunc | Function | null | Function to handle your info logs |
| errorLogFunc | Function | null | Function to handle your error logs |
| ovrLogFunc | Function | null | Function to handle your logs when the request is overridden by a header |
| customDupMsg | String | "Duplicate request detected" | Custom string message to be sent back in the response for duplicates |
| customErrMsg | String | "Internal server error has occurred" | Custom string message to be sent back in the response for errors |
FAQs
A lightweight request duplicate check for api side.
We found that node-duplicate-req 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
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.