1.0.3 • Published 10 months ago
express-duplicate-request v1.0.3
express-duplicate-request
This middleware to Limit each IP duplicated requests per window
made the client, due to lack of network, or nervous and frustrated endless cliking.
Inspiration from romch007 duplicate-requests
Install
$ npm install express-duplicate-request
# OR
$ yarn add express-duplicate-request
Usage
import { duplicateRequest } from "express-duplicate-request";
// OR
const { duplicateRequest } = require("express-duplicate-request");
const express = require("express");
const app = express();
const myDup = duplicateRequest({
expiration: 500, // Can't duplicate request for 5 milliseconds each IP requests per `window`
});
// Apply the duplicate request middleware to all requests.
app.use(myDup);
app.get("/", (req, res) => res.end("Hey!"));
app.listen(9000, () => console.log("Listening!"));
Options
{
expiration: 500 , /* Expiration time of the request in memory
* should be Number [1000 = 1 seconds]
*/
property: "id", /* Property which contains the id
* should be a string or a function
* with a req paramater which returns a string
*/
prefix: "article.add", // Prefix to group requests in storage
errorHandling: {
statusCode: 429, // The status code to send if request is duplicated
json: {} // Javascript plain object to send if request is duplicated
},
connectionUri: "" // Leave empty to store object in memory, or use redis:// or mongodb://
}
Specific your Endpoint
// Declare Specific 1
const specificDup1 = duplicateRequest({
expiration: 500, // Can't duplicate request for 5 milliseconds
});
// Declare Specific 1
const specificDup2 = duplicateRequest({
expiration: 1000, // Can't duplicate request for 1 seconds
});
app.get("/", specificSlow1, (req, res) => res.end("Hey! 5 milliseconds"));
app.get("/", specificSlow2, (req, res) => res.end("Hey! 1 seconds"))
1.0.3
10 months ago
1.0.2
10 months ago
1.0.1
10 months ago
1.0.0
11 months ago
0.1.20
11 months ago
0.1.19
11 months ago
0.1.18
11 months ago
0.1.17
11 months ago
0.1.15
11 months ago
0.1.14
11 months ago
0.1.11
11 months ago
0.1.10
11 months ago
0.1.9
11 months ago
0.1.8
11 months ago
0.1.7
11 months ago
0.1.6
11 months ago
0.1.5
11 months ago
0.1.4
11 months ago
0.1.3
11 months ago
0.1.2
11 months ago
0.1.1
11 months ago