Merge pull request #74 from zmillman/readme-request

Improve documentation of Rack::Attack::Request
This commit is contained in:
Aaron Suggs 2014-08-01 14:43:53 -04:00
commit 7820986d9c
2 changed files with 18 additions and 1 deletions

View file

@ -68,7 +68,7 @@ The algorithm is actually more concise in code: See [Rack::Attack.call](https://
```ruby
def call(env)
req = Rack::Request.new(env)
req = Rack::Attack::Request.new(env)
if whitelisted?(req)
@app.call(env)
@ -83,6 +83,10 @@ def call(env)
end
```
Note: `Rack::Attack::Request` is just a subclass of `Rack::Attack` so that you
can cleanly monkey patch helper methods onto the
[request object](https://github.com/kickstarter/rack-attack/blob/master/lib/rack/attack/request.rb).
## About Tracks
`Rack::Attack.track` doesn't affect request processing. Tracks are an easy way to log and measure requests matching arbitrary attributes.

View file

@ -1,3 +1,16 @@
# Rack::Attack::Request is the same as ::Rack::Request by default.
#
# This is a safe place to add custom helper methods to the request object
# through monkey patching:
#
# class Rack::Attack::Request < ::Rack::Request
# def localhost?
# ip == "127.0.0.1"
# end
# end
#
# Rack::Attack.whitelist("localhost") {|req| req.localhost? }
#
module Rack
class Attack
class Request < ::Rack::Request