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.
14 15 16 |
# File 'lib/restforce/middleware/caching.rb', line 14 def cache_key(env) super(env) + hashed_auth_header(env) end |
#call(env) ⇒ Object
3 4 5 6 |
# File 'lib/restforce/middleware/caching.rb', line 3 def call(env) expire(cache_key(env)) unless use_cache? super end |
#expire(key) ⇒ Object
8 9 10 |
# File 'lib/restforce/middleware/caching.rb', line 8 def expire(key) cache.delete(key) if cache end |
#hashed_auth_header(env) ⇒ Object
22 23 24 25 26 |
# File 'lib/restforce/middleware/caching.rb', line 22 def hashed_auth_header(env) Digest::SHA1.hexdigest( env[:request_headers][Restforce::Middleware::Authorization::AUTH_HEADER] ) end |
#use_cache? ⇒ Boolean
18 19 20 |
# File 'lib/restforce/middleware/caching.rb', line 18 def use_cache? @options.fetch(:use_cache, true) end |