Method: Browser::Middleware#call

Defined in:
lib/browser/middleware.rb

#call(env) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/browser/middleware.rb', line 18

def call(env)
  request = Rack::Request.new(env)

  # Only apply verification on HTML requests.
  # This ensures that images, CSS and JavaScript
  # will be rendered.
  return run_app(env) unless process?(request)

  path = catch(:redirected) do
    Context.new(request).instance_eval(&@block)
  end

  # No path, no match.
  return run_app(env) unless path

  resolve_redirection(env, request.path, path)
end