2012-03-19 48 views
1

我想在Rack :: ResponseHeaders中访问请求。我在我的应用程序中使用Sinatra。Sinatra - 在Rack :: ResponseHeaders中访问请求

下面是我的代码:

use Rack::ResponseHeaders do |headers| 

    # Manipulation of request variables. 
    # Setting request headers. 

end 

的问题是,为了操纵请求变量,我需要先有请求变量。

请建议。

+0

你需要操纵哪些变量? – 2012-03-19 16:18:12

+0

我想检查请求标头。我只需要在请求中包含特定标题时才真正设置响应标头。 – 2012-03-20 11:10:30

回答

0

的第一件事是,你需要通过RubyGems的安装宝石rack-contrib

$ gem install rack-contrib 

这种宝石含有贡献机架工具。然后,你需要需要这种宝石在你的应用程序:

require 'rack/contrib' 

这可能足以只需要响应头实用程序(未测试):

require 'rack/contrib/response_headers' 

然后你可以用这个工具来进军标题,例如:

use Rack::ResponseHeaders do |headers|      # tap into headers 
    unless headers['cache-control']      # if header not set, 
     headers['cache-control'] = "public, max-age=1800" # set it to ... 
    end 
end 

让我知道这是否适合你。