@@ -152,7 +152,7 @@ class KeyBundle:
152
152
153
153
def __init__ (self , keys = None , source = "" , cache_time = 300 , verify_ssl = True ,
154
154
fileformat = "jwks" , keytype = "RSA" , keyusage = None , kid = '' ,
155
- httpc = None ):
155
+ httpc = None , httpc_params = None ):
156
156
"""
157
157
Contains a set of keys that have a common origin.
158
158
The sources can be serveral:
@@ -171,6 +171,8 @@ def __init__(self, keys=None, source="", cache_time=300, verify_ssl=True,
171
171
:param keyusage: What the key loaded from file should be used for.
172
172
Only applicable for DER files
173
173
:param httpc: A HTTP client function
174
+ :param httpc_params: Additional parameters to pass to the HTTP client
175
+ function
174
176
"""
175
177
176
178
self ._keys = []
@@ -193,6 +195,7 @@ def __init__(self, keys=None, source="", cache_time=300, verify_ssl=True,
193
195
else :
194
196
self .httpc = requests .request
195
197
self .verify_ssl = verify_ssl
198
+ self .httpc_params = httpc_params or {}
196
199
197
200
if keys :
198
201
self .source = None
@@ -314,13 +317,11 @@ def do_remote(self):
314
317
:return: True or False if load was successful
315
318
"""
316
319
if self .verify_ssl is not None :
317
- args = {"verify" : self .verify_ssl }
318
- else :
319
- args = {}
320
+ self .httpc_params ["verify" ] = self .verify_ssl
320
321
321
322
try :
322
323
LOGGER .debug ('KeyBundle fetch keys from: %s' , self .source )
323
- _http_resp = self .httpc ('GET' , self .source , ** args )
324
+ _http_resp = self .httpc ('GET' , self .source , ** self . httpc_params )
324
325
except Exception as err :
325
326
LOGGER .error (err )
326
327
raise UpdateFailed (
0 commit comments