mirror of
https://github.com/linux-odyssey/linux-odyssey.git
synced 2026-11-05 19:20:12 +08:00
feat: disable rate limits when testing
This commit is contained in:
1 parent
d0c01fffa8
commit
ca057a657b
2 files changed
+16
-8
No files matched your search
@@ -40,13 +40,13 @@ const config = {
|
||||
trustedProxies: getTrustProxies('TRUSTED_PROXIES'),
|
||||
surveyUrl: getUrl('SURVEY_URL', ''),
|
||||
bugReportUrl: getUrl('BUG_REPORT_URL', ''),
|
||||
testing: {
|
||||
enabled: process.env.TESTING === 'true',
|
||||
username: get('TESTING_USERNAME', ''),
|
||||
password: get('TESTING_PASSWORD', ''),
|
||||
},
|
||||
}
|
||||
|
||||
config.baseUrl = get('BASE_URL', `http://${config.host}:${config.port}`)
|
||||
config.testing = {
|
||||
enabled: !config.isProduction && process.env.TESTING === 'true',
|
||||
username: get('TESTING_USERNAME', ''),
|
||||
password: get('TESTING_PASSWORD', ''),
|
||||
}
|
||||
|
||||
export default config
|
||||
@@ -1,16 +1,24 @@
|
||||
import rateLimit from 'express-rate-limit'
|
||||
import config from '../config.js'
|
||||
|
||||
export const globalRateLimit = rateLimit({
|
||||
function createRateLimiter(options) {
|
||||
if (config.testing.enabled) {
|
||||
return (req, res, next) => next()
|
||||
}
|
||||
return rateLimit(options)
|
||||
}
|
||||
|
||||
export const globalRateLimit = createRateLimiter({
|
||||
windowMs: 60 * 1000, // 1 minute
|
||||
max: 100,
|
||||
})
|
||||
|
||||
export const authenticateRateLimit = rateLimit({
|
||||
export const authenticateRateLimit = createRateLimiter({
|
||||
windowMs: 2 * 60 * 1000,
|
||||
max: 5,
|
||||
})
|
||||
|
||||
export const sessionRateLimit = rateLimit({
|
||||
export const sessionRateLimit = createRateLimiter({
|
||||
windowMs: 10 * 1000,
|
||||
max: 1,
|
||||
keyGenerator: (req) => {
|
||||
|
||||
Reference in new issue
Block a user