我有以下Rack中间件来检测旧版本的Internet Explorer:
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请求的条件。关于如何在中间件中实现这一点的任何想法?
由于
答案 0 :(得分:3)
Rack :: Request对象中有一个方法:request.post?
还有.get?
.patch?
.put?
等。