app.middleware.insert(0, Rack::MiniProfiler)
class FooMiddleware
def initialize(app)
puts "init foo"
@app = app
end
def call(env)
puts "foo"
result = @app.call(env)
puts "finish foo"
return result
end
end
class BarMiddleware
def initialize(app)
puts "init bar"
@app = app
end
def call(env)
puts "bar"
result = @app.call(env)
puts "finish bar"
return result
end
end
class BazMiddleware
def initialize(app)
puts "init baz"
@app = app
end
def call(env)
puts "baz"
result = @app.call(env)
puts "finish baz"
return result
end
end
config.middleware.use FooMiddleware
config.middleware.use BarMiddleware
config.middleware.use BazMiddleware
foo
bar
baz
finish baz
finish bar
finish foo