introduce rate limit variables
parent
415eb2194f
commit
129336c168
|
@ -67,15 +67,16 @@ export default class ChatServer {
|
||||||
this.app.use(express.json({ limit: '1mb' }));
|
this.app.use(express.json({ limit: '1mb' }));
|
||||||
this.app.use(compression());
|
this.app.use(compression());
|
||||||
|
|
||||||
if (process.env.DISABLE_RATE_LIMIT !== 'true') {
|
|
||||||
const { default: rateLimit } = await import('express-rate-limit'); // esm
|
|
||||||
const limiter = rateLimit({
|
|
||||||
windowMs: 15 * 60 * 1000, // 15 minutes
|
|
||||||
max: 100, // limit each IP to 100 requests per windowMs
|
|
||||||
});
|
|
||||||
|
|
||||||
this.app.use(limiter);
|
const rateLimitWindowMs = process.env.RATE_LIMIT_WINDOW_MS ? parseInt(process.env.RATE_LIMIT_WINDOW_MS, 10) : 15 * 60 * 1000; // 15 minutes
|
||||||
}
|
const rateLimitMax = process.env.RATE_LIMIT_MAX ? parseInt(process.env.RATE_LIMIT_MAX, 10) : 100; // limit each IP to 100 requests per windowMs
|
||||||
|
|
||||||
|
const { default: rateLimit } = await import('express-rate-limit'); // esm
|
||||||
|
const limiter = rateLimit({
|
||||||
|
windowMs: rateLimitWindowMs,
|
||||||
|
max: rateLimitMax,
|
||||||
|
});
|
||||||
|
this.app.use(limiter);
|
||||||
|
|
||||||
this.app.get('/chatapi/health', (req, res) => new HealthRequestHandler(this, req, res));
|
this.app.get('/chatapi/health', (req, res) => new HealthRequestHandler(this, req, res));
|
||||||
this.app.get('/chatapi/session', (req, res) => new SessionRequestHandler(this, req, res));
|
this.app.get('/chatapi/session', (req, res) => new SessionRequestHandler(this, req, res));
|
||||||
|
|
Loading…
Reference in New Issue