Method: Masks::Middleware#call

Defined in:
lib/masks/middleware.rb

#call(env) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/masks/middleware.rb', line 30

def call(env)
  request = ActionDispatch::Request.new(env)
  session = Masks.request(request)

  ::Rails.logger.info(
    [
      "Mask #{session.passed? ? "allowed" : "blocked"}",
      "by type=#{session.mask.type}",
      session.mask.name ? "name=#{session.mask.name}" : ""
    ].join(" ")
  )

  env[SESSION_KEY] = session
  app = @app
  app = (session.passed? ? app : error_app(session, app))

  app.call(env)
end