Как использовать промежуточное программное обеспечение Rack только для определенных путей?
Я хотел бы иметьMyMiddleware
запустить в моем приложении Rack, но только для определенных путей. Я надеялся использоватьRack::Builder
или по крайней мереRack::URLMap
, но я не могу понять, как.
Я думал, что это сработает, но это не так:
# in my rackup file or Rails environment.rb:
map '/foo' do
use MyMiddleware, { :some => 'options' }
end
Или, еще лучше, с регулярным выражением:
map /^foo/ do
use MyMiddleware, { :some => 'options' }
end
Ноmap
кажется, требует приложение в конце; он не вернется к простой передаче контроля своему родителю. (Фактическая ошибка "undefined method 'each' for nil:NilClass
с того момента, когда Стойка пытается повернуть конец этогоdo...end
блокировать вapp
.)
Есть ли промежуточное программное обеспечение, которое принимает массив промежуточных программ и путь и запускает их, только если путь совпадает?