Ich möchte MyMiddleware
in meiner Rack App laufen lassen, aber nur für bestimmte Pfade. Ich hatte gehofft, Rack::Builder
oder mindestens Rack::URLMap
zu verwenden, aber ich kann nicht recht herausfinden, wie.Wie verwende ich eine Rack-Middleware nur für bestimmte Pfade?
Das ist, was ich dachte funktionieren würde, aber nicht:
# in my rackup file or Rails environment.rb:
map '/foo' do
use MyMiddleware, { :some => 'options' }
end
Oder, noch besser, mit einem Regexp:
map /^foo/ do
use MyMiddleware, { :some => 'options' }
end
Aber map
scheint eine App am Ende zu verlangen ; es wird nicht darauf zurückgreifen, die Kontrolle nur an die Eltern zurückzugeben. (Der tatsächliche Fehler „undefined method 'each' for nil:NilClass
“ aus, wenn Gestell versucht, das Ende dieses do...end
Block in ein app
einzuschalten.)
Gibt es eine Middleware aus, dass es eine Reihe von Middleware und einem Weg nimmt und läuft sie nur, wenn das Pfad passt?
dummer Tippfehler - danke für die Korrektur, AnthonyWJones! :: Hängt Kopf in Schande :: –