【发布时间】:2014-09-24 21:55:51
【问题描述】:
我有以下 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 请求。这可以在中间件中实现吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 middleware