class Faraday::Request::Authorization
def self.build_hash(type, hash)
def self.build_hash(type, hash) comma = ", " values = [] hash.each do |key, value| values << "#{key}=#{value.to_s.inspect}" end "#{type} #{values * comma}" end
def self.header(type, token)
def self.header(type, token) case token when String, Symbol "#{type} #{token}" when Hash build_hash(type.to_s, token) else raise ArgumentError, "Can't build an Authorization #{type} header from #{token.inspect}" end end
def call(env)
def call(env) unless env.request_headers[KEY] env.request_headers[KEY] = @header_value end @app.call(env) end
def initialize(app, type, token)
def initialize(app, type, token) @header_value = self.class.header(type, token) super(app) end