2014-09-24 31 views
0

我有以下Rack中間件來檢測的Internet Explorer的舊版本:如何確定機架請求類型Middlewear

require 'user_agent' 

module Rack 
    class IERedirect 

    def initialize(app, url) 
     @app = app 
     @redirect_url = url 
    end 

    def call(env) 
     request = Rack::Request.new(env) 
     useragent = UserAgent.new(env["HTTP_USER_AGENT"].to_s) 
     path = env["PATH_INFO"] 
     if (useragent.name == :ie && (useragent.version.to_i < 10)) 
     [ 302, {'Location'=> "#{@redirect_url}" }, [] ] 
     else 
     @app.call(env) 
     end 
    end 
    end 
end 

我想要做的就是添加另一個條件if語句這是允許所有POST請求。關於中間件如何實現的任何想法?

感謝

回答

3

有一個在機架:: Request對象的方法:request.post? 也有.get?.patch?.put?