Skip to content

Repository files navigation

hapi-ratelimit

A simple ip based rate limiting plugin for Hapi using Redis.

##Installation

npm install hapi-ratelimit

Usage

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);});

About

Hapi rate limiting module

Resources

Stars

33 stars

Watchers

26 watching

Forks

Releases

Packages

Used by

Contributors

Languages