Class: SmartyStreets::CustomHeaderSender

Inherits:
Object
  • Object
show all
Defined in:
lib/smartystreets_ruby_sdk/custom_header_sender.rb

Instance Method Summary collapse

Constructor Details

#initialize(inner, header, append_headers = {}) ⇒ CustomHeaderSender

Returns a new instance of CustomHeaderSender.



3
4
5
6
7
# File 'lib/smartystreets_ruby_sdk/custom_header_sender.rb', line 3

def initialize(inner, header, append_headers = {})
  @inner = inner
  @header = header
  @append_headers = append_headers || {}
end

Instance Method Details

#apply_headersObject



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/smartystreets_ruby_sdk/custom_header_sender.rb', line 14

def apply_headers
  result = {}
  @header.each do |key, values|
    if @append_headers.key?(key)
      separator = @append_headers[key]
      result[key] = values.respond_to?(:join) ? values.join(separator) : values.to_s
    else
      result[key] = values.dup
    end
  end
  result
end

#send(request) ⇒ Object



9
10
11
12
# File 'lib/smartystreets_ruby_sdk/custom_header_sender.rb', line 9

def send(request)
  apply_headers.each { |key, value| request.header[key] = value }
  @inner.send(request)
end