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, config: Aikido::Zen.config, settings: Aikido::Zen.runtime_settings) ⇒ AllowedAddressChecker

Returns a new instance of AllowedAddressChecker.



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

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

Instance Method Details

#call(env) ⇒ Object



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

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