これは非常に簡単だと思いますが、正しく理解できないようです。基本的に、Rack ミドルウェアを使用して、Sinatra アプリが提供するすべての応答にデフォルトの Cache-Control ヘッダーを設定しようとしています。Rack::ResponseHeaders は必要なことを正確に実行できるように見えますが、ラックアップ ファイルでここに示されている構文を使用しようとするとエラーが発生します。
use Rack::ResponseHeaders do |headers|
headers['X-Foo'] = 'bar'
headers.delete('X-Baz')
end
次のように、Rack::Cache を正常に動作させることができました。
use Rack::Cache,
:default_ttl => 3600
ただし、Rack::ResponseHeaders ではヘッダーをきめ細かく制御できますが、これでは希望どおりの出力が得られません。
参考までに、私のサイトは Heroku でホストされており、必要な Rack gem は .gems マニフェストで指定されています。
ありがとう!
更新:いくつかの調査を行った結果、最初の問題は、インストールされた Rack-contrib (0.9.2) のバージョンで Rack::ResponseHeaders が見つからないことのようです。それを調べることから始めます。