@@ -120,7 +120,7 @@ def _create_transport(index, transport, check_native_endpoint=None):
120
120
valid_transport_keys = [
121
121
'type' , 'url' , 'endpoint' , 'serializer' , 'serializers' , 'options' ,
122
122
'max_retries' , 'max_retry_delay' , 'initial_retry_delay' ,
123
- 'retry_delay_growth' , 'retry_delay_jitter' , 'proxy' ,
123
+ 'retry_delay_growth' , 'retry_delay_jitter' , 'proxy' , 'headers'
124
124
]
125
125
for k in transport .keys ():
126
126
if k not in valid_transport_keys :
@@ -161,6 +161,8 @@ def _create_transport(index, transport, check_native_endpoint=None):
161
161
'options must be a dict, not {}' .format (type (options ))
162
162
)
163
163
164
+ headers = transport .get ("headers" )
165
+
164
166
if kind == 'websocket' :
165
167
for key in ['url' ]:
166
168
if key not in transport :
@@ -227,6 +229,8 @@ def _create_transport(index, transport, check_native_endpoint=None):
227
229
endpoint_config = transport ['endpoint' ]
228
230
if 'serializers' in transport :
229
231
raise ValueError ("'serializers' is only for websocket; use 'serializer'" )
232
+ if headers is not None :
233
+ raise ValueError ("'headers' not supported for rawsocket transport" )
230
234
# always a list; len == 1 for rawsocket
231
235
if 'serializer' in transport :
232
236
if not isinstance (transport ['serializer' ], (str , str )):
@@ -252,6 +256,7 @@ def _create_transport(index, transport, check_native_endpoint=None):
252
256
serializers = serializer_config ,
253
257
proxy = proxy ,
254
258
options = options ,
259
+ headers = headers ,
255
260
** kw
256
261
)
257
262
@@ -268,7 +273,8 @@ def __init__(self, idx, kind, url, endpoint, serializers,
268
273
retry_delay_growth = 1.5 ,
269
274
retry_delay_jitter = 0.1 ,
270
275
proxy = None ,
271
- options = None ):
276
+ options = None ,
277
+ headers = None ):
272
278
"""
273
279
"""
274
280
if options is None :
@@ -279,6 +285,7 @@ def __init__(self, idx, kind, url, endpoint, serializers,
279
285
self .url = url
280
286
self .endpoint = endpoint
281
287
self .options = options
288
+ self .headers = headers
282
289
283
290
self .serializers = serializers
284
291
if self .type == 'rawsocket' and len (serializers ) != 1 :
0 commit comments