class Flatrack::Middleware
Public Class Methods
new(app, opts = {})
click to toggle source
# File lib/flatrack/middleware.rb, line 4 def initialize(app, opts = {}) @if = opts[:if] || Proc.new { true } @unless = opts[:unless] || Proc.new { false } @app = app @flatrack_app = opts[:flatrack_app] || Flatrack::Site end
Public Instance Methods
call(env)
click to toggle source
# File lib/flatrack/middleware.rb, line 11 def call(env) Flatrack::DomainParser.new(null_app).call(env) allow = @if.call(env) && !@unless.call(env) return call_app env unless allow response = @flatrack_app.call env status, _, _ = response response = call_app(env) if status == 404 response rescue Flatrack::FileNotFound call_app env end
call_app(env)
click to toggle source
# File lib/flatrack/middleware.rb, line 23 def call_app(env) @app.call env end
null_app()
click to toggle source
# File lib/flatrack/middleware.rb, line 27 def null_app ->(_){} end