Rack Limiter

Simple redis-backed rack middleware to limit incoming http requests. Extracted from Screenfunk.com

Configuration for Rails apps

Add rack-ratelimiter to your Gemfile

gem 'rack-racklimiter', :git => "git://github.com/krmdrms/rack-ratelimiter.git",:require => 'rack/rack_limiter'

This will limit all incoming requests

config.middleware.use "Rack::RateLimiter", :interval => 60, :max_requests => 50, :redis_namespace => 'rack_limiter'

We have Public API @screenfunk which runs on the same rails instance with different domain

config.middleware.use "Rack::RateLimiter", :interval => 60, :max_requests => 50, :redis_namespace => 'rack_limiter', :limit => {:domain => 'api.screenfunk.com'}

with :limit parameter server only listens given domain.

License

(The MIT License) Copyright © 2011 Kerem Durmus