Implementation of a thread-safe in-memory cache store.
Public Class methods
new()
[show source]
# File lib/httpx/plugins/response_cache/store.rb 7 def initialize 8 @store = {} 9 @store_mutex = Thread::Mutex.new 10 end
Public Instance methods
clear()
[show source]
# File lib/httpx/plugins/response_cache/store.rb 12 def clear 13 @store_mutex.synchronize { @store.clear } 14 end
get(request)
[show source]
# File lib/httpx/plugins/response_cache/store.rb 16 def get(request) 17 @store_mutex.synchronize do 18 @store[request.response_cache_key] 19 end 20 end
set(request, response)
[show source]
# File lib/httpx/plugins/response_cache/store.rb 22 def set(request, response) 23 @store_mutex.synchronize do 24 cached_response = @store[request.response_cache_key] 25 26 cached_response.close if cached_response 27 28 @store[request.response_cache_key] = response 29 end 30 end