Class: FractalApi::FaradayAuth

Inherits:
Faraday::Middleware
  • Object
show all
Defined in:
lib/fractal_api/faraday_auth.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, api_key, partner_id, options = {}) ⇒ FaradayAuth



9
10
11
12
13
14
# File 'lib/fractal_api/faraday_auth.rb', line 9

def initialize(app, api_key, partner_id, options = {})
  super(app)
  @api_key = api_key
  @partner_id = partner_id
  @options = options
end

Instance Method Details

#call(env) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/fractal_api/faraday_auth.rb', line 16

def call(env)
  token = FractalApi.global_token || authenticate

  env[:request_headers]['X-Api-Key'] = @api_key
  env[:request_headers]['X-Partner-Id'] = @partner_id
  env[:request_headers]['Authorization'] = "Bearer #{token}"
  env[:request_headers]['Content-Type'] = 'application/json'
  env[:request_headers]['User-Agent'] = "finpoint/#{FractalApi::VERSION}"

  @app.call(env)
end