Sinatra - 在Rack :: ResponseHeaders中访问请求

时间:2012-03-19 14:27:10

标签: ruby request sinatra response rack

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

以下是我的代码:

use Rack::ResponseHeaders do |headers|

  # Manipulation of request variables.
  # Setting request headers.

end

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

请建议。

1 个答案:

答案 0 :(得分:0)

首先,你需要通过rubygems安装gem rack-contrib

$ gem install rack-contrib

此gem包含贡献的机架实用程序。然后你需要在你的应用程序中要求这个gem:

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

让我知道这是否适合你。