mirror of
https://github.com/linux-odyssey/linux-odyssey.git
synced 2026-11-08 03: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'),
|
trustedProxies: getTrustProxies('TRUSTED_PROXIES'),
|
||||||
surveyUrl: getUrl('SURVEY_URL', ''),
|
surveyUrl: getUrl('SURVEY_URL', ''),
|
||||||
bugReportUrl: getUrl('BUG_REPORT_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.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
|
export default config
|
||||||
@@ -1,16 +1,24 @@
|
|||||||
import rateLimit from 'express-rate-limit'
|
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
|
windowMs: 60 * 1000, // 1 minute
|
||||||
max: 100,
|
max: 100,
|
||||||
})
|
})
|
||||||
|
|
||||||
export const authenticateRateLimit = rateLimit({
|
export const authenticateRateLimit = createRateLimiter({
|
||||||
windowMs: 2 * 60 * 1000,
|
windowMs: 2 * 60 * 1000,
|
||||||
max: 5,
|
max: 5,
|
||||||
})
|
})
|
||||||
|
|
||||||
export const sessionRateLimit = rateLimit({
|
export const sessionRateLimit = createRateLimiter({
|
||||||
windowMs: 10 * 1000,
|
windowMs: 10 * 1000,
|
||||||
max: 1,
|
max: 1,
|
||||||
keyGenerator: (req) => {
|
keyGenerator: (req) => {
|
||||||
|
|||||||
Reference in new issue
Block a user