Guest User

Untitled

a guest
Jan 15th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. Rack::Builder.new do
  2. use added_middleware1
  3. use added_middleware2
  4. end.call(@env) if @request.path == "/something"
  5.  
  6. use CommonMiddleware
  7. map '/something' do
  8. use SpecialMiddleware
  9. run TheApp.new
  10. end
  11. map '/' do
  12. run TheApp.new
  13. end
  14.  
  15. def initialize app, special_middleware
  16. @app, @special_middleware = app, special_middleware
  17. end
  18.  
  19. def call env
  20. if route_matches?(env)
  21. @special_middleware.new(@app).call(env) # assumes special_middleware initializer takes no extra parameters
  22. else
  23. @app.call(env)
  24. end
  25. end
  26.  
  27. def route_matches? env
  28. # examine the rack environment hash, return true or false
  29. end
  30.  
  31. use RouteMatchingMiddleware, SpecialMiddleware
  32. run TheApp.new
  33.  
  34. app = Rack::Builder.new {
  35. use Rack::CommonLogger
  36. use Rack::ShowExceptions
  37. map "/lobster" do
  38. use Rack::Lint
  39. run Rack::Lobster.new
  40. end
  41. }
Add Comment
Please, Sign In to add comment