class PDC::Request::Token

Adds TokenAuthentication to request header. Uses the token if passed else fetches token using the TokenFetcher to get the token once

Attributes

options[R]

Public Class Methods

new(app, options = {}) click to toggle source
Calls superclass method
# File lib/pdc/http/request/pdc_token.rb, line 9
def initialize(app, options = {})
  @options = options
  super(app)
end

Public Instance Methods

call(env) click to toggle source
# File lib/pdc/http/request/pdc_token.rb, line 14
def call(env)
  env.request_headers['Token'] = token
  logger.debug "Token set, headers: #{env.request_headers}"
  @app.call(env)
end

Private Instance Methods

token() click to toggle source

uses the token passed or fetches one only once

# File lib/pdc/http/request/pdc_token.rb, line 25
def token
  @token ||= options[:token] || TokenFetcher.fetch
end