express-better-ratelimit
v1.1.2
Published
Express.js request rate limit middleware by IP with MemoryStore
Downloads
31
Readme
better-ratelimit
Express.js request rate limit middleware by IP with MemoryStore
Install
Install with npm
$ npm install express-better-ratelimit
$ npm test
This package follows ferver
Please read history.md for more info!
- option
message_429
deprecated >=v1.1.x, instead useaccessLimited
- option
message_403
deprecated >=v1.1.x, instead useaccessForbidden
Usage
Some demo example which is exactly
example.js
var express = require('express');
var limit = require('./index');
var app = express();
app.use(limit({
duration: 30000, //30 seconds
max: 5
//blackList: ['127.0.0.1']
}));
app.use(function helloWorld(req, res, next) {
res.set('Content-Type', 'text/plain');
res.status(200).send('Hello world');
next();
});
var port = process.env.PORT || 3333;
app.listen(port);
console.log('Express server start listening on port %s', port);
console.log('Type few times: curl -i http://localhost:%s', port);
.expressBetterRatelimit
With options through init you can control black/white lists, limit per ip and reset interval.
[options]
{Object}duration
{Integer} Limit duration in milliseconds, default1000 * 60 * 60 * 1
(1 hour)whiteList
{Array} All ips that won't be limited, defaultempty array
blackList
{Array} All ips that always be limited and 403, defaultempty array
accessLimited
{String} Message for all requests after limit, default429: Too Many Requests.
accessForbidden
{String} Message for limited/forbidden, default403: This is forbidden area for you.
max
{Integer} Max requests per ip, default500
env
{Boolean} Manage enviroment, for tests will usex-koaip
header, defaultnull
return
{Function}
Authors & Contributors
License
Copyright (c) 2014 Charlike Make Reagent, contributors.
Released under the MIT
license.