Class: Aikido::Zen::Middleware::AllowedAddressChecker

Inherits:
Object
  • Object
show all
Defined in:
lib/aikido/zen/middleware/allowed_address_checker.rb

Overview

Middleware that only allows allowed IPs when allowed IPs are configured for any matching route in the Aikido dashboard.

Instance Method Summary collapse

Constructor Details

#initialize(app, zen: Aikido::Zen, config: zen.config, settings: zen.runtime_settings) ⇒ AllowedAddressChecker

Returns a new instance of AllowedAddressChecker.



8
9
10
11
12
13
# File 'lib/aikido/zen/middleware/allowed_address_checker.rb', line 8

def initialize(app, zen: Aikido::Zen, config: zen.config, settings: zen.runtime_settings)
  @app = app
  @zen = zen
  @config = config
  @settings = settings
end

Instance Method Details

#call(env) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/aikido/zen/middleware/allowed_address_checker.rb', line 15

def call(env)
  request = Aikido::Zen::Middleware.request_from(env)

  if allowed?(request)
    @app.call(env)
  else
    @config.blocked_responder.call(request, :ip)
  end
end