class ServiceNameHeader::FaradayMiddleware
Constants
- HEADER
Public Class Methods
default_name()
click to toggle source
# File lib/service_name_header/faraday_middleware.rb, line 7 def self.default_name @default_name ||= Rails.application.class.name.split("::").first.underscore if defined?(Rails) end
new(app, options = nil)
click to toggle source
Calls superclass method
# File lib/service_name_header/faraday_middleware.rb, line 11 def initialize(app, options = nil) super(app) @options = default_options.merge(options || {}) end
Public Instance Methods
call(env)
click to toggle source
# File lib/service_name_header/faraday_middleware.rb, line 16 def call(env) set_header(env) if needs_header?(env) @app.call(env) end
Private Instance Methods
default_options()
click to toggle source
# File lib/service_name_header/faraday_middleware.rb, line 31 def default_options { name: self.class.default_name, header: HEADER } end
needs_header?(env)
click to toggle source
# File lib/service_name_header/faraday_middleware.rb, line 23 def needs_header?(env) @options[:name].present? && !env[:request_headers][@options[:header]] end
set_header(env)
click to toggle source
# File lib/service_name_header/faraday_middleware.rb, line 27 def set_header(env) env[:request_headers][@options[:header]] = @options[:name] end