mirror of
https://github.com/samsonjs/rack-attack.git
synced 2026-03-25 09:25:49 +00:00
Merge pull request #74 from zmillman/readme-request
Improve documentation of Rack::Attack::Request
This commit is contained in:
commit
7820986d9c
2 changed files with 18 additions and 1 deletions
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue