リクエストAPIにはFaradayを使用しています。応答本文をキャッシュして、指定された有効期限のリクエストの代わりに使用したい。
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は動的に変化します。だから私はファラデーによって構築されたURLを取得する方法が必要だと思います.