diff --git a/server/routes/router.js b/server/routes/router.js index 7ee7263..494e9b9 100644 --- a/server/routes/router.js +++ b/server/routes/router.js @@ -1,32 +1,40 @@ const express = require('express'); const router = express.Router({ strict: true }); const path = require('path'); +const rateLimit = require('express-rate-limit').default; -router.get('/', function (request, response) { +const htmlPageLimiter = rateLimit({ + windowMs: 60000, + max: 100, + standardHeaders: true, + legacyHeaders: false +}); + +router.get('/', htmlPageLimiter, function (request, response) { response.sendFile(path.join(__dirname, '../../client/src/views/home.html')); }); -router.get('/create', function (request, response) { +router.get('/create', htmlPageLimiter, function (request, response) { response.sendFile(path.join(__dirname, '../../client/src/views/create.html')); }); -router.get('/join/:code', function (request, response) { +router.get('/join/:code', htmlPageLimiter, function (request, response) { response.sendFile(path.join(__dirname, '../../client/src/views/join.html')); }); -router.get('/how-to-use', function (request, response) { +router.get('/how-to-use', htmlPageLimiter, function (request, response) { response.sendFile(path.join(__dirname, '../../client/src/views/how-to-use.html')); }); -router.get('/game/:code', function (request, response) { +router.get('/game/:code', htmlPageLimiter, function (request, response) { response.sendFile(path.join(__dirname, '../../client/src/views/game.html')); }); -router.get('/liveness_check', (req, res) => { +router.get('/liveness_check', htmlPageLimiter, (req, res) => { res.sendStatus(200); }); -router.get('/readiness_check', (req, res) => { +router.get('/readiness_check', htmlPageLimiter, (req, res) => { res.sendStatus(200); });