Class: Restforce::Middleware::Caching
- Inherits:
-
FaradayMiddleware::Caching
- Object
- FaradayMiddleware::Caching
- Restforce::Middleware::Caching
- Defined in:
- lib/restforce/middleware/caching.rb
Instance Method Summary collapse
-
#cache_key(env) ⇒ Object
We don’t want to cache requests for different clients, so append the oauth token to the cache key.
- #call(env) ⇒ Object
- #expire(key) ⇒ Object
- #hashed_auth_header(env) ⇒ Object
- #use_cache? ⇒ Boolean
Instance Method Details
#cache_key(env) ⇒ Object
We don’t want to cache requests for different clients, so append the oauth token to the cache key.
16 17 18 |
# File 'lib/restforce/middleware/caching.rb', line 16 def cache_key(env) super(env) + hashed_auth_header(env) end |
#call(env) ⇒ Object
5 6 7 8 |
# File 'lib/restforce/middleware/caching.rb', line 5 def call(env) expire(cache_key(env)) unless use_cache? super end |
#expire(key) ⇒ Object
10 11 12 |
# File 'lib/restforce/middleware/caching.rb', line 10 def expire(key) cache&.delete(key) end |
#hashed_auth_header(env) ⇒ Object
24 25 26 27 28 |
# File 'lib/restforce/middleware/caching.rb', line 24 def hashed_auth_header(env) Digest::SHA1.hexdigest( env[:request_headers][Restforce::Middleware::Authorization::AUTH_HEADER] ) end |
#use_cache? ⇒ Boolean
20 21 22 |
# File 'lib/restforce/middleware/caching.rb', line 20 def use_cache? @options.fetch(:use_cache, true) end |