node-duplicate-req

0.8.5 • Public • Published

Node Duplicate Req

A lightweight api side duplicate check

Installation

npm install node-duplicate-req

Requirements

In order for it to work it must be placed after request body parser. Redis must be installed

Usage

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):

  • 'x-override-dupcheck' : if on the request object, will override the function, allowing the request to skip the duplicate checking process all together options

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

Readme

Keywords

Package Sidebar

Install

npm i node-duplicate-req

Weekly Downloads

1

Version

0.8.5

License

ISC

Last publish

Collaborators

  • kferrone
  • aolvictim