mojej konfiguracji: Szyny 3.0.9 Ruby 1.9.2Rails 3 middleware modyfikować nagłówki żądania
Pracuję nad moim pierwszym aplikacji middleware i wydaje się, że wszystkie przykłady radzenia sobie z modyfikować odpowiedź. Muszę w szczególności przeanalizować i zmodyfikować nagłówki żądań, usunąć niektóre obraźliwe nagłówki powodujące dławienie się w Rack 1.2.3. Oto typowa aplikacja Rack na świecie Hello.
my_middleware.rb
class MyMiddleware
def initialize(app)
@app = app
end
def call(env)
@status, @headers, @response = @app.call(env)
[@status, @headers, @response]
end
end
Czy ktoś ma przykład, który zajmuje się nagłówkami żądań i przechwytuje je, zanim Rack je zdobędzie? Muszę zmodyfikować nagłówki żądań, zanim trafi do Rack do parsowania. Mam tę konfigurację, myśląc, że umieszczenie jej przed Rackem może załatwić sprawę, ale nie jestem pewien, czy nakaz egzekucji jest egzekwowany w ten sposób.
application.rb
config.middleware.insert_before Rack::Lock, "MyMiddleware"
Świetnie, spróbuję, czy wiesz, czy moja konfiguracja przechwytuje nagłówki, zanim Rack wykona, czy też nie, kolejność ładowania oprogramowania pośredniego w ogóle w zakresie kolejności wykonywania. – Bob
Wierzę, że Rack nadal będzie przechwytywał żądanie, ale potem przekazuje je do oprogramowania pośredniego zamiast bezpośrednio do Rails. Ale nie jestem w 100% pewny. –
Jeśli tak jest, to nie będzie działać dla mnie. Właśnie wyrzuciłem klasę obiektu '@ app' i pokazuje' Rack :: Lock', co oznacza, że Rack już do niej doszedł. Argh. – Bob