使用FaradayMiddleware :: Caching的缓存数据

时间:2014-05-03 09:09:00

标签: ruby caching faraday

我使用法拉第请求api。我想缓存响应主体并使用它而不是请求指定的过期时间。

我找到了FaradayMiddleware :: Caching,我可以缓存响应体,但我不知道如何使用缓存而不是请求。

我使用的API服务不支持http缓存,所以我不能使用faraday-http-cache gem。

在我的代码下面

connection = Faraday.new(url: 'http://exapmle.com') do |faraday|
  faraday.request :url_encoded
  cache_dir = File.join('/tmp/cache')
  faraday.response :caching do
    ActiveSupport::Cache::FileStore.new cache_dir, :expires_in => 3600
  end
  faraday.adapter Faraday.default_adapter
end

connection.get '/path/to/api', version: nil

如何使用缓存数据而不是正常响应?

缓存键是请求URL,但url是动态更改的。所以我想我需要一种方法来获取由法拉第构建的网址。

0 个答案:

没有答案