class BRL::Auth::AuthenticatedConnection
Constants
- CONTENT_TYPE
- COOKIE_CACHE_KEY
Public Class Methods
new(token_service: BRL::Auth::TokenService.new, cache: defined?(Rails) ? Rails.cache : nil, request_class: Faraday, base_url: BRL::BASE_URL)
click to toggle source
Calls superclass method
# File lib/brl/auth/authenticated_connection.rb, line 9 def initialize(token_service: BRL::Auth::TokenService.new, cache: defined?(Rails) ? Rails.cache : nil, request_class: Faraday, base_url: BRL::BASE_URL) super(request_class: request_class, base_url: base_url) @token_service = token_service @cache = cache end
Public Instance Methods
default_headers()
click to toggle source
# File lib/brl/auth/authenticated_connection.rb, line 18 def default_headers { "Accept": CONTENT_TYPE, "Authorization": (@cache ? cached_token : auth_token), "Content-Type": CONTENT_TYPE } end
Private Instance Methods
auth_token()
click to toggle source
# File lib/brl/auth/authenticated_connection.rb, line 27 def auth_token token = @token_service.retrieve "Bearer #{token.access_token}" end
cached_token()
click to toggle source
# File lib/brl/auth/authenticated_connection.rb, line 33 def cached_token @cache.fetch(COOKIE_CACHE_KEY, expires_in: BRL::Auth::TOKEN_EXPIRATION) { auth_token } end