mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-10-13 17:16:37 +08:00
fixed one typo
This commit is contained in:
parent
67008d844b
commit
0624fbbc87
1 changed files with 42 additions and 38 deletions
|
@ -1,6 +1,10 @@
|
|||
const rateLimit = require("express-rate-limit");
|
||||
|
||||
const getAddress = (req) => req.headers["cf-connecting-ip"] || req.headers["x-forwarded-for"] || req.ip || "255.255.255.255";
|
||||
const getAddress = (req) =>
|
||||
req.headers["cf-connecting-ip"] ||
|
||||
req.headers["x-forwarded-for"] ||
|
||||
req.ip ||
|
||||
"255.255.255.255";
|
||||
const message = "Too many requests, please try again later";
|
||||
const multiplier = process.env.MODE === "dev" ? 100 : 1;
|
||||
|
||||
|
@ -9,14 +13,14 @@ exports.configUpdate = rateLimit({
|
|||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 500 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.configGet = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 120 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
// Leaderboards Routing
|
||||
|
@ -24,7 +28,7 @@ exports.leaderboardsGet = rateLimit({
|
|||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 60 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
// New Quotes Routing
|
||||
|
@ -32,21 +36,21 @@ exports.newQuotesGet = rateLimit({
|
|||
windowMs: 60 * 60 * 1000,
|
||||
max: 500 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.newQuotesAdd = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 60 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.newQuotesAction = rateLimit({
|
||||
windowMs: 60 * 60 * 1000,
|
||||
max: 500 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
// Quote Ratings Routing
|
||||
|
@ -54,14 +58,14 @@ exports.quoteRatingsGet = rateLimit({
|
|||
windowMs: 60 * 60 * 1000,
|
||||
max: 500 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.quoteRatingsSubmit = rateLimit({
|
||||
windowMs: 60 * 60 * 1000,
|
||||
max: 500 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
// Presets Routing
|
||||
|
@ -69,28 +73,28 @@ exports.presetsGet = rateLimit({
|
|||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 60 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.presetsAdd = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 60 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.presetsRemove = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 60 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.presetsEdit = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 60 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
// PSA (Public Service Announcement) Routing
|
||||
|
@ -98,7 +102,7 @@ exports.psaGet = rateLimit({
|
|||
windowMs: 60 * 1000,
|
||||
max: 60 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
// Results Routing
|
||||
|
@ -106,146 +110,146 @@ exports.resultsGet = rateLimit({
|
|||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 60 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.resultsAdd = rateLimit({
|
||||
windowMs: 60 * 60 * 1000,
|
||||
max: 500 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.resultsTagsUpdate = rateLimit({
|
||||
windowMs: 60 * 60 * 1000,
|
||||
max: 30 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.resultsDeleteAll = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 10 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.resultsLeaderboardGet = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 60 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.resultsLeaderboardQualificationGet = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 60 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
// Users Routing
|
||||
exports.userGet = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 1 * multiplier,
|
||||
max: 60 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.userSignup = rateLimit({
|
||||
windowMs: 24 * 60 * 60 * 1000, // 1 day
|
||||
max: 3 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.userDelete = rateLimit({
|
||||
windowMs: 24 * 60 * 60 * 1000, // 1 day
|
||||
max: 3 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.userCheckName = rateLimit({
|
||||
windowMs: 60 * 1000,
|
||||
max: 60 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.userUpdateName = rateLimit({
|
||||
windowMs: 24 * 60 * 60 * 1000, // 1 day
|
||||
max: 3 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.userUpdateLBMemory = rateLimit({
|
||||
windowMs: 60 * 1000,
|
||||
max: 60 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.userUpdateEmail = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 60 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.userClearPB = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 60 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.userTagsGet = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 60 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.userTagsRemove = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 30 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.userTagsClearPB = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 60 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.userTagsEdit = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 30 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.userTagsAdd = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 30 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.userDiscordLink = exports.usersTagsEdit = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 15 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
message,
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
||||
exports.userDiscordUnlink = exports.usersTagsEdit = rateLimit({
|
||||
windowMs: 60 * 60 * 1000, // 60 min
|
||||
max: 15 * multiplier,
|
||||
message,
|
||||
keyGenerator: getAddress
|
||||
});
|
||||
keyGenerator: getAddress,
|
||||
});
|
||||
|
|
Loading…
Add table
Reference in a new issue