fix: use express-rate-limit ipKeyGenerator for sync limiter fallback
This commit is contained in:
parent
7455dff5b8
commit
f69f778821
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const rateLimit = require('express-rate-limit');
|
const { rateLimit, ipKeyGenerator } = require('express-rate-limit');
|
||||||
|
|
||||||
function makeLimiter(max, windowMs, message) {
|
function makeLimiter(max, windowMs, message) {
|
||||||
return rateLimit({
|
return rateLimit({
|
||||||
|
|
@ -69,7 +69,7 @@ const syncLimiter = rateLimit({
|
||||||
max: 10,
|
max: 10,
|
||||||
standardHeaders: 'draft-7',
|
standardHeaders: 'draft-7',
|
||||||
legacyHeaders: false,
|
legacyHeaders: false,
|
||||||
keyGenerator: (req) => req.user?.id?.toString() || req.ip,
|
keyGenerator: (req) => req.user?.id?.toString() || ipKeyGenerator(req),
|
||||||
handler(req, res) {
|
handler(req, res) {
|
||||||
res.status(429).json({ error: 'Too many sync requests. Please try again in 15 minutes.' });
|
res.status(429).json({ error: 'Too many sync requests. Please try again in 15 minutes.' });
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue