@@ -62,8 +62,14 @@ module HTTP
6262 class Manticore
6363 include Base
6464
65- def initialize ( arguments = { } , &block )
66- @request_options = { headers : ( arguments . dig ( :transport_options , :headers ) || { } ) }
65+ def initialize ( arguments = { } , &block )
66+ @request_options = {
67+ headers : (
68+ arguments . dig ( :transport_options , :headers ) ||
69+ arguments . dig ( :options , :transport_options , :headers ) ||
70+ { }
71+ )
72+ }
6773 @manticore = build_client ( arguments [ :options ] || { } )
6874 super ( arguments , &block )
6975 end
@@ -113,8 +119,7 @@ def perform_request(method, path, params={}, body=nil, headers=nil, opts={})
113119 # @return [Connections::Collection]
114120 #
115121 def __build_connections
116- apply_headers ( @request_options , options [ :transport_options ] )
117- apply_headers ( @request_options , options )
122+ apply_headers ( options )
118123
119124 Connections ::Collection . new \
120125 :connections => hosts . map { |host |
@@ -157,12 +162,12 @@ def host_unreachable_exceptions
157162
158163 private
159164
160- def apply_headers ( request_options , options )
161- headers = options &.[] ( :headers ) || { }
165+ def apply_headers ( options )
166+ headers = options . dig ( :headers ) || options . dig ( :transport_options , :headers ) || { }
162167 headers [ CONTENT_TYPE_STR ] = find_value ( headers , CONTENT_TYPE_REGEX ) || DEFAULT_CONTENT_TYPE
163- headers [ USER_AGENT_STR ] = find_value ( headers , USER_AGENT_REGEX ) || user_agent_header
168+ headers [ USER_AGENT_STR ] = find_value ( headers , USER_AGENT_REGEX ) || find_value ( @request_options [ :headers ] , USER_AGENT_REGEX ) || user_agent_header
164169 headers [ ACCEPT_ENCODING ] = GZIP if use_compression?
165- request_options [ :headers ] . merge! ( headers )
170+ @ request_options[ :headers ] . merge! ( headers )
166171 end
167172
168173 def user_agent_header
0 commit comments