Skip to content

Commit 0d75e19

Browse files
Add rate limiter (#198)
1 parent da2f24c commit 0d75e19

3 files changed

Lines changed: 39 additions & 0 deletions

File tree

package-lock.json

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

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"compression": "^1.7.5",
2626
"escape-goat": "^4.0.0",
2727
"express": "^4.21.2",
28+
"express-rate-limit": "^8.0.1",
2829
"follow-redirects": "^1.15.9",
2930
"front-matter": "^4.0.2",
3031
"gray-matter": "^4.0.3",

server.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import compression from "compression";
22
import express from "express";
33
import morgan from "morgan";
4+
import { rateLimit } from "express-rate-limit";
45

56
// Short-circuit the type-checking of the built output.
67
const BUILD_PATH = "./build/server/index.js";
@@ -9,6 +10,15 @@ const PORT = Number.parseInt(process.env.PORT || "3000");
910

1011
const app = express();
1112

13+
const limiter = rateLimit({
14+
windowMs: 2 * 60 * 1000, // 2 minutes
15+
max: 1000,
16+
standardHeaders: true,
17+
legacyHeaders: false,
18+
});
19+
20+
app.use(limiter);
21+
1222
app.use(compression());
1323
app.disable("x-powered-by");
1424

0 commit comments

Comments
 (0)