Skip to content

Commit 8719915

Browse files
committed
feat: add rate limiting middleware to prevent API abuse
Signed-off-by: Vipul Singh <vipulsingh.1404@gmail.com>
1 parent 0520502 commit 8719915

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

express-mongodb/app.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,21 @@ require('dotenv').config();
22

33
const express = require("express");
44
const mongoose = require("mongoose");
5+
const rateLimit = require("express-rate-limit");
56
const Product = require("./models/product.model.js");
67
const productRoute = require("./routes/product.route.js");
78
const connectDB = require('./db/connect');
89
const app = express();
910

11+
// Set up rate limiter
12+
const limiter = rateLimit({
13+
windowMs: 15 * 60 * 1000, // 15 minutes
14+
max: 100 // 100 requests per IP
15+
});
16+
17+
// Add rate limiting to all routes
18+
app.use(limiter);
19+
1020
// middleware
1121
app.use(express.json());
1222
app.use(express.urlencoded({extended: false}));

express-mongodb/package-lock.json

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

express-mongodb/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
"cross-env": "^7.0.3",
1717
"dotenv": "^16.4.5",
1818
"express": "^4.19.2",
19+
"express-rate-limit": "^7.5.0",
1920
"mongodb": "^6.5.0",
2021
"mongoose": "^8.1.0",
2122
"moongoose": "^0.0.5"

0 commit comments

Comments
 (0)