Thiết lập của tôi: Rails 3.0.9, Ruby 1.9.2Rails 3 phần giữa yêu cầu sửa đổi tiêu đề yêu cầu
Tôi đang làm việc trên ứng dụng phần mềm trung gian đầu tiên của mình và dường như tất cả các ví dụ đều thay đổi phản hồi. Tôi cần phải kiểm tra và sửa đổi các tiêu đề yêu cầu nói riêng, xóa một số tiêu đề vi phạm gây ra lỗi trong Rack 1.2.3 để choke. Đây là ứng dụng Hello world Rack điển hình.
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
Có ai có ví dụ liên quan đến yêu cầu headrers và chặn chúng trước Rack không? Tôi cần phải sửa đổi các tiêu đề yêu cầu trước khi nó đến Rack for parsing. Tôi có thiết lập này, nghĩ rằng việc đặt nó trước khi Rack có thể thực hiện thủ thuật nhưng tôi không chắc chắn nếu lệnh thực hiện được thực thi theo cách này.
application.rb
config.middleware.insert_before Rack::Lock, "MyMiddleware"
Tuyệt, tôi sẽ thử này, bạn có biết liệu thiết lập của tôi có chặn các tiêu đề trước khi Rack thực hiện hay thực hiện thứ tự tải các phần mềm trung gian về mặt thứ tự thực hiện. – Bob
Tôi tin Rack vẫn sẽ chặn yêu cầu đầu tiên, nhưng sau đó chuyển nó vào phần mềm trung gian thay vì trực tiếp đến Rails. Nhưng tôi không chắc chắn 100%. –
Nếu đó là trường hợp, sau đó nó sẽ không làm việc cho tôi. Tôi vừa hủy bỏ lớp đối tượng '@ app' và nó hiển thị' Rack :: Lock' có nghĩa là Rack đã nhận được nó. Argh. – Bob