* feat: show open boilerplate prs on dashboard fix: rest of boilerplate server changes fix: more fix: other * fix: update lib functions * fix: retrofitted one-off scripts * feat: added rateLimit for requests * fix: reduce time * fix: put limiter inside each route * fix: make client show when rated limited * fix: removed unused probot from app * fix: renamed folders * fix: consolidate config.js and constants.js * chore: update octokit to latest version * fix: remove invalid file * fix: refactored update-db.js * feat: add fcc logo * fix: logo url * fix: remove Home link * fix: change link colors * fix: added rate limiter to landing page * fix: ran npm install in client to create package-lock.json * fix: correct typo in doc Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com> * fix: Replace favicon, Gitter => Discord Signed-off-by: nhcarrigan <nhcarrigan@gmail.com> * fix: add extra linting guidance to package.json * Ignore contributor app Signed-off-by: nhcarrigan <nhcarrigan@gmail.com> * fix: revert linting rules for client * fix: add skip_preflight_check=true for tests Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com> Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> Co-authored-by: Kris Koishigawa <scissorsneedfoodtoo@gmail.com> Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
23 lines
516 B
JavaScript
23 lines
516 B
JavaScript
const rateLimit = require("express-rate-limit");
|
|
|
|
const limitHandler = (req, res) => {
|
|
res
|
|
.status(429)
|
|
.json({
|
|
ok: false,
|
|
rateLimitMessage: 'You have accessed this app\'s pages too quickly. Please try again in 5 minutes.'
|
|
}
|
|
);
|
|
};
|
|
|
|
const rateLimitOptions = {
|
|
windowMs: 5 * 60 * 1000, // 5 minutes
|
|
max: 100,
|
|
message: 'rate limit activated',
|
|
handler: limitHandler,
|
|
onLimitReached: limitHandler
|
|
};
|
|
|
|
const reqLimiter = rateLimit(rateLimitOptions);
|
|
|
|
module.exports = { reqLimiter }; |