feat(middleware.ratelimit): use "await client.get" instead than callback

Signed-off-by: Hanif Dwy Putra S <47862061+hansputera@users.noreply.github.com>
This commit is contained in:
Hanif Dwy Putra S
2022-07-29 11:32:49 +00:00
parent a366893c34
commit 512072df92

View File

@@ -14,18 +14,22 @@ export const ratelimitMiddleware = async (
.status(401)
.json({message: "Couldn't find your real ip address."});
}
client.get('rate-' + ip, (_, result) => {
if (result) {
if (parseInt(result) > rateLimitConfig.maxRatelimitPerXSeconds) {
return res.status(429).json({
message: 'Please try again, you are getting ratelimit!',
});
}
client.incr('rate-' + ip);
return true;
} else {
client.set('rate-' + ip, '1', 'EX', rateLimitConfig.ratelimitTime);
return true;
const result = await client.get('rate-'.concat(ip.toString()));
if (result) {
if (parseInt(result) > rateLimitConfig.maxRatelimitPerXSeconds) {
return res.status(429).json({
message: 'Please try again, you are getting ratelimit!',
});
}
});
client.incr('rate-'.concat(ip.toString()));
return true;
} else {
client.set(
'rate-'.concat(ip.toString()),
'1',
'EX',
rateLimitConfig.ratelimitTime,
);
return true;
}
};