Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Rack::Builder.new do
- use added_middleware1
- use added_middleware2
- end.call(@env) if @request.path == "/something"
- use CommonMiddleware
- map '/something' do
- use SpecialMiddleware
- run TheApp.new
- end
- map '/' do
- run TheApp.new
- end
- def initialize app, special_middleware
- @app, @special_middleware = app, special_middleware
- end
- def call env
- if route_matches?(env)
- @special_middleware.new(@app).call(env) # assumes special_middleware initializer takes no extra parameters
- else
- @app.call(env)
- end
- end
- def route_matches? env
- # examine the rack environment hash, return true or false
- end
- use RouteMatchingMiddleware, SpecialMiddleware
- run TheApp.new
- app = Rack::Builder.new {
- use Rack::CommonLogger
- use Rack::ShowExceptions
- map "/lobster" do
- use Rack::Lint
- run Rack::Lobster.new
- end
- }
Add Comment
Please, Sign In to add comment