Class: Faraday::OAuth2CachedToken

Inherits:
Middleware
  • Object
show all
Defined in:
lib/faraday/oauth2_cached_token.rb,
lib/faraday/oauth2_cached_token/token.rb,
lib/faraday/oauth2_cached_token/provider.rb

Defined Under Namespace

Classes: Provider, Token

Constant Summary collapse

INVALID_TOKEN_STATUS =
401

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app, options = {}) ⇒ OAuth2CachedToken

Returns a new instance of OAuth2CachedToken.



11
12
13
14
15
# File 'lib/faraday/oauth2_cached_token.rb', line 11

def initialize(app, options = {})
  super(app)
  @provider = options[:provider] || Provider.new(options[:provider_options] || {})
  @logger = options[:logger]
end

Instance Attribute Details

#providerObject (readonly)

Returns the value of attribute provider.



9
10
11
# File 'lib/faraday/oauth2_cached_token.rb', line 9

def provider
  @provider
end

Instance Method Details

#call(request_env) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/faraday/oauth2_cached_token.rb', line 17

def call(request_env)
  inject_header(request_env, @provider.get_token.headers)

  @app.call(request_env).on_complete do |response_env|
    on_complete(request_env, response_env)
  end
end