@@ -83,6 +83,7 @@ def __init__(
83
83
username ,
84
84
password ,
85
85
verify = True ,
86
+ cert = None ,
86
87
max_conflict_retries = 5 ,
87
88
max_retries = 5 ,
88
89
single_session = True ,
@@ -96,6 +97,7 @@ def __init__(
96
97
self .auth = None
97
98
self .pool_maxsize = pool_maxsize
98
99
self .verify = verify
100
+ self .cert = cert
99
101
self .max_retries = max_retries
100
102
self .log_requests = log_requests
101
103
self .max_conflict_retries = max_conflict_retries
@@ -122,6 +124,8 @@ def _make_session(self):
122
124
https = requests .adapters .HTTPAdapter (** kwargs )
123
125
session .mount ('http://' , http )
124
126
session .mount ('https://' , https )
127
+ if self .cert :
128
+ session .cert = self .cert
125
129
126
130
return session
127
131
@@ -198,6 +202,7 @@ def __init__(
198
202
username = None ,
199
203
password = None ,
200
204
verify = True ,
205
+ cert = None ,
201
206
verbose = False ,
202
207
statsdClient = None ,
203
208
reportFileName = None ,
@@ -241,7 +246,7 @@ def __init__(
241
246
self .identifier = None
242
247
self .startTime = None
243
248
self .session = None
244
- self .resetSession (username , password , verify )
249
+ self .resetSession (username , password , verify , cert )
245
250
246
251
self .users = Users (self )
247
252
@@ -295,12 +300,14 @@ def create_aikido_session(
295
300
self ,
296
301
username ,
297
302
password ,
298
- verify
303
+ verify ,
304
+ cert
299
305
) -> AikidoSession :
300
306
return AikidoSession (
301
307
username = username ,
302
308
password = password ,
303
309
verify = verify ,
310
+ cert = cert ,
304
311
single_session = True ,
305
312
max_conflict_retries = self .max_conflict_retries ,
306
313
max_retries = self .max_retries ,
@@ -324,10 +331,12 @@ def create_grequest_session(
324
331
verify
325
332
)
326
333
327
- def resetSession (self , username = None , password = None , verify = True ):
334
+ def resetSession (self , username = None , password = None , verify = True , cert = None ):
328
335
"""resets the session"""
329
336
self .disconnectSession ()
330
337
if self .use_grequests :
338
+ if cert is not None :
339
+ raise NotImplementedError ('client-side certificates not supported in conjunction with grequests yet' )
331
340
self .session = self .create_grequest_session (
332
341
username ,
333
342
password ,
@@ -337,7 +346,8 @@ def resetSession(self, username=None, password=None, verify=True):
337
346
self .session = self .create_aikido_session (
338
347
username ,
339
348
password ,
340
- verify
349
+ verify ,
350
+ cert
341
351
)
342
352
343
353
def reload (self ):
0 commit comments