class DHS::Interceptors::RequestCycleCache::Interceptor
Constants
- CACHED_METHODS
- VERSION
Public Instance Methods
before_request()
click to toggle source
# File lib/dhs/interceptors/request_cycle_cache/interceptor.rb, line 15 def before_request request.options = { cache: { expires_in: 5.minutes, race_condition_ttl: 5.seconds, key: cache_key_for(request), methods: CACHED_METHODS, use: DHS.config.request_cycle_cache } }.merge(request.options) end
Private Instance Methods
cache_key_for(request)
click to toggle source
# File lib/dhs/interceptors/request_cycle_cache/interceptor.rb, line 29 def cache_key_for(request) [ "DHS_REQUEST_CYCLE_CACHE(v#{VERSION})", request.method.upcase, [request.url, request.params.presence].compact.join('?'), "REQUEST=#{DHS::Interceptors::RequestCycleCache::ThreadRegistry.request_id}", "HEADERS=#{request.headers.hash}" ].join(' ') end