mirror of
https://github.com/samsonjs/rack-attack.git
synced 2026-03-25 09:25:49 +00:00
WIP
This commit is contained in:
parent
140ea86b7c
commit
7fab5df499
3 changed files with 15 additions and 2 deletions
|
|
@ -3,7 +3,10 @@ module Rack
|
|||
class Attack
|
||||
class << self
|
||||
|
||||
def block
|
||||
attr_reader :blocks, :throttles, :whitelists
|
||||
|
||||
def block(name, &block)
|
||||
(@blocks ||= {})[name] = block
|
||||
end
|
||||
|
||||
def throttle
|
||||
|
|
|
|||
|
|
@ -3,6 +3,10 @@ require_relative 'spec_helper'
|
|||
describe 'Rack::Attack' do
|
||||
include Rack::Test::Methods
|
||||
|
||||
before do
|
||||
Rack::Attack.block("ip 1.2.3.4") {|req| req.ip == '1.2.3.4' }
|
||||
end
|
||||
|
||||
def app
|
||||
Rack::Builder.new {
|
||||
use Rack::Attack
|
||||
|
|
@ -10,9 +14,15 @@ describe 'Rack::Attack' do
|
|||
}.to_app
|
||||
end
|
||||
|
||||
it 'has a block' do
|
||||
Rack::Attack.blocks.class.must_equal Hash
|
||||
end
|
||||
|
||||
it "says hello" do
|
||||
get '/'
|
||||
last_response.status.must_equal 200
|
||||
last_response.body.must_equal 'Hello World'
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
|
|
|||
|
|
@ -2,6 +2,6 @@ require "rubygems"
|
|||
require "bundler/setup"
|
||||
|
||||
require "minitest/autorun"
|
||||
require "rack"
|
||||
require "rack/test"
|
||||
|
||||
require "rack/attack"
|
||||
|
|
|
|||
Loading…
Reference in a new issue