Je voudrais avoir exécuté dans mon application Rack, mais uniquement pour certains chemins. J'espérais utiliser Rack::Builder
ou au moins Rack::URLMap
, mais je n'arrive pas à comprendre comment.Comment utiliser un middleware Rack uniquement pour certains chemins?
C'est ce que je pensais travailler, mais qui ne fonctionne pas:
# in my rackup file or Rails environment.rb:
map '/foo' do
use MyMiddleware, { :some => 'options' }
end
Ou, mieux encore, avec une expression rationnelle:
map /^foo/ do
use MyMiddleware, { :some => 'options' }
end
Mais map
semble exiger une application à la fin ; il ne retombera pas sur le simple renvoi du contrôle à son parent. (L'erreur réelle est « undefined method 'each' for nil:NilClass
» de quand rack essaie de tourner la fin de ce bloc do...end
dans un app
.)
Y at-il un middleware là-bas qui prend un tableau de intergiciels et un chemin et ne les exécute si la chemin correspond?
stupide faute de frappe - merci d'avoir corrigé cela, AnthonyWJones! :: bloque la tête dans la honte :: –