@@ -62,8 +62,14 @@ module HTTP
62
62
class Manticore
63
63
include Base
64
64
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
+ }
67
73
@manticore = build_client ( arguments [ :options ] || { } )
68
74
super ( arguments , &block )
69
75
end
@@ -113,8 +119,7 @@ def perform_request(method, path, params={}, body=nil, headers=nil, opts={})
113
119
# @return [Connections::Collection]
114
120
#
115
121
def __build_connections
116
- apply_headers ( @request_options , options [ :transport_options ] )
117
- apply_headers ( @request_options , options )
122
+ apply_headers ( options )
118
123
119
124
Connections ::Collection . new \
120
125
:connections => hosts . map { |host |
@@ -157,12 +162,12 @@ def host_unreachable_exceptions
157
162
158
163
private
159
164
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 ) || { }
162
167
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
164
169
headers [ ACCEPT_ENCODING ] = GZIP if use_compression?
165
- request_options [ :headers ] . merge! ( headers )
170
+ @ request_options[ :headers ] . merge! ( headers )
166
171
end
167
172
168
173
def user_agent_header
0 commit comments