2012-03-19 37 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 

讓我知道這是否適合你。