A simple ip based rate limiting plugin for Hapi using Redis.
##Installation
npm install hapi-ratelimit
In the Hapi init code:
varHapi=require('hapi');varhratelimit=require('hapi-ratelimit');varserver=newHapi.Server();// Config for ratelimitvarrateOpts={redis:{port:#redis-port#,host:#redis-host#
},namespace: "clhr",//namespace for redis keysglobal: {limit: 200,duration: 60}//Set limit to -1 or leave out global to disable global limit//The global limit is not given priority over local limits};varconnection=server.connection({port: 80,labels: 'something'});connection.route({method: 'GET',path: '/someImportantRoute',handler: someHandler,configs: {plugins: {// If you want to override the default values"hapi-ratelimit": {limit: 100,duration: 60}//limits to one hundred hits per minute on a specific route}}});connection.register({register: hratelimit,options: rateOpts},function(err){console.log(err);});