Class: Rack::Attack::Fail2Ban

Inherits:
Object
  • Object
show all
Defined in:
lib/rack/attack/fail2ban.rb

Direct Known Subclasses

Allow2Ban

Class Method Summary collapse

Class Method Details

.filter(discriminator, options) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/rack/attack/fail2ban.rb', line 5

def filter(discriminator, options)
  bantime   = options[:bantime]   or raise ArgumentError, "Must pass bantime option"
  findtime  = options[:findtime]  or raise ArgumentError, "Must pass findtime option"
  maxretry  = options[:maxretry]  or raise ArgumentError, "Must pass maxretry option"

  if banned?(discriminator)
    # Return true for blacklist
    true
  elsif yield
    fail!(discriminator, bantime, findtime, maxretry)
  end
end