import { rateLimit } from 'express-rate-limit' import { isNotEmptyString } from '../utils/is' const MAX_REQUEST_PER_HOUR = process.env.MAX_REQUEST_PER_HOUR const maxCount = (isNotEmptyString(MAX_REQUEST_PER_HOUR) && !isNaN(Number(MAX_REQUEST_PER_HOUR))) ? parseInt(MAX_REQUEST_PER_HOUR) : 0 // 0 means unlimited const limiter = rateLimit({ // windowMs: 60 * 60 * 1000, // Maximum number of accesses within an hour max: maxCount, statusCode: 200, // 200 means success,but the message is 'Too many request from this IP in 1 hour' message: async (req, res) => { res.send({ status: 'Fail', message: 'Giới hạn trò chuyện trong 1h.', data: null }) }, }) export { limiter }