0.8.5 • Published 7 years ago

node-duplicate-req v0.8.5

Weekly downloads
16
License
ISC
Repository
github
Last release
7 years ago

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

PropertyDataTypeDefaultDescription
ttlNumber60How many seconds you want it to live in the redis database
keyValueStringreq.authorization.credentials + method and routeThe key to save in the redis database
prefixString''prefix to be included with each redis entry
ignoreEmptyBodyBooleantrueWhen set to true it does not save empty object in redis database
ignorePropertiesArray[]Properties you want ignored from req object, default empty array. Give absolute path to property
infoLogFuncFunctionnullFunction to handle your info logs
errorLogFuncFunctionnullFunction to handle your error logs
ovrLogFuncFunctionnullFunction to handle your logs when the request is overridden by a header
customDupMsgString"Duplicate request detected"Custom string message to be sent back in the response for duplicates
customErrMsgString"Internal server error has occurred"Custom string message to be sent back in the response for errors
0.8.5

7 years ago

0.8.4

7 years ago

0.8.3

7 years ago

0.8.2

7 years ago

0.8.1

7 years ago

0.8.0

7 years ago

0.7.0

7 years ago

0.6.0

7 years ago

0.5.0

7 years ago

0.4.0

7 years ago

0.3.0

7 years ago

0.2.0

7 years ago

0.1.0

7 years ago