Skip to content

Instantly share code, notes, and snippets.

@barisusakli
Created August 28, 2015 01:17
Show Gist options
  • Save barisusakli/b2825b889f59a6ba5d88 to your computer and use it in GitHub Desktop.
Save barisusakli/b2825b889f59a6ba5d88 to your computer and use it in GitHub Desktop.
rate limit requests
ratelimit.rateLimitReq = function(req, res, next) {
if (!req.session) {
return next();
}
req.session.lastRequestTime = req.session.lastRequestTime || 0;
var now = Date.now();
if (now - req.session.lastRequestTime < 200) {
if (res.locals.isAPI) {
res.status(429).json('too-many-requests');
} else {
res.status(429).send('too-many-requests');
}
return;
}
req.session.lastRequestTime = now;
next();
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment