Como uso um middleware de rack apenas para determinados caminhos?

Eu gostaria de terMyMiddleware executado no meu aplicativo Rack, mas apenas para certos caminhos. Eu esperava usarRack::Builder ou pelo menosRack::URLMap, mas não consigo entender com

Isto é o que eu pensei que iria funcionar, mas não:

# in my rackup file or Rails environment.rb:
map '/foo' do
  use MyMiddleware, { :some => 'options' }
end

Ou, melhor ainda, com um Regexp:

map /^foo/ do
  use MyMiddleware, { :some => 'options' }
end

Masmap parece exigir um aplicativo no final; não voltará a passar o controle de volta para o pai. (O erro real é "undefined method 'each' for nil:NilClass "a partir do momento em que o Rack tentar terminar odo...end bloco em umapp.)

Existe um middleware por aí que pega uma variedade de middlewares e um caminho e os executa apenas se o caminho corresponde

questionAnswers(4)

yourAnswerToTheQuestion