@@ -122,6 +122,9 @@ def __init__(self, url, private_token=None,
122
122
#: Whether SSL certificates should be validated
123
123
self .ssl_verify = ssl_verify
124
124
125
+ #: Create a session object for requests
126
+ self .session = requests .Session ()
127
+
125
128
self .settings = ApplicationSettingsManager (self )
126
129
self .user_keys = UserKeyManager (self )
127
130
self .users = UserManager (self )
@@ -260,11 +263,11 @@ def _raw_get(self, path, content_type=None, **kwargs):
260
263
headers = self ._create_headers (content_type )
261
264
262
265
try :
263
- return requests .get (url ,
264
- params = kwargs ,
265
- headers = headers ,
266
- verify = self .ssl_verify ,
267
- timeout = self .timeout )
266
+ return self . session .get (url ,
267
+ params = kwargs ,
268
+ headers = headers ,
269
+ verify = self .ssl_verify ,
270
+ timeout = self .timeout )
268
271
except Exception as e :
269
272
raise GitlabConnectionError (
270
273
"Can't connect to GitLab server (%s)" % e )
@@ -298,10 +301,10 @@ def _raw_post(self, path, data=None, content_type=None, **kwargs):
298
301
url = '%s%s' % (self ._url , path )
299
302
headers = self ._create_headers (content_type )
300
303
try :
301
- return requests .post (url , params = kwargs , data = data ,
302
- headers = headers ,
303
- verify = self .ssl_verify ,
304
- timeout = self .timeout )
304
+ return self . session .post (url , params = kwargs , data = data ,
305
+ headers = headers ,
306
+ verify = self .ssl_verify ,
307
+ timeout = self .timeout )
305
308
except Exception as e :
306
309
raise GitlabConnectionError (
307
310
"Can't connect to GitLab server (%s)" % e )
@@ -311,10 +314,10 @@ def _raw_put(self, path, data=None, content_type=None, **kwargs):
311
314
headers = self ._create_headers (content_type )
312
315
313
316
try :
314
- return requests .put (url , data = data , params = kwargs ,
315
- headers = headers ,
316
- verify = self .ssl_verify ,
317
- timeout = self .timeout )
317
+ return self . session .put (url , data = data , params = kwargs ,
318
+ headers = headers ,
319
+ verify = self .ssl_verify ,
320
+ timeout = self .timeout )
318
321
except Exception as e :
319
322
raise GitlabConnectionError (
320
323
"Can't connect to GitLab server (%s)" % e )
@@ -324,11 +327,11 @@ def _raw_delete(self, path, content_type=None, **kwargs):
324
327
headers = self ._create_headers (content_type )
325
328
326
329
try :
327
- return requests .delete (url ,
328
- params = kwargs ,
329
- headers = headers ,
330
- verify = self .ssl_verify ,
331
- timeout = self .timeout )
330
+ return self . session .delete (url ,
331
+ params = kwargs ,
332
+ headers = headers ,
333
+ verify = self .ssl_verify ,
334
+ timeout = self .timeout )
332
335
except Exception as e :
333
336
raise GitlabConnectionError (
334
337
"Can't connect to GitLab server (%s)" % e )
@@ -366,9 +369,9 @@ def list(self, obj_class, **kwargs):
366
369
del params [attribute ]
367
370
368
371
try :
369
- r = requests .get (url , params = params , headers = headers ,
370
- verify = self .ssl_verify ,
371
- timeout = self .timeout )
372
+ r = self . session .get (url , params = params , headers = headers ,
373
+ verify = self .ssl_verify ,
374
+ timeout = self .timeout )
372
375
except Exception as e :
373
376
raise GitlabConnectionError (
374
377
"Can't connect to GitLab server (%s)" % e )
@@ -434,8 +437,8 @@ def get(self, obj_class, id=None, **kwargs):
434
437
del params [attribute ]
435
438
436
439
try :
437
- r = requests .get (url , params = params , headers = headers ,
438
- verify = self .ssl_verify , timeout = self .timeout )
440
+ r = self . session .get (url , params = params , headers = headers ,
441
+ verify = self .ssl_verify , timeout = self .timeout )
439
442
except Exception as e :
440
443
raise GitlabConnectionError (
441
444
"Can't connect to GitLab server (%s)" % e )
@@ -487,11 +490,11 @@ def delete(self, obj, id=None, **kwargs):
487
490
del params [attribute ]
488
491
489
492
try :
490
- r = requests .delete (url ,
491
- params = params ,
492
- headers = headers ,
493
- verify = self .ssl_verify ,
494
- timeout = self .timeout )
493
+ r = self . session .delete (url ,
494
+ params = params ,
495
+ headers = headers ,
496
+ verify = self .ssl_verify ,
497
+ timeout = self .timeout )
495
498
except Exception as e :
496
499
raise GitlabConnectionError (
497
500
"Can't connect to GitLab server (%s)" % e )
@@ -535,10 +538,10 @@ def create(self, obj, **kwargs):
535
538
data = obj ._data_for_gitlab (extra_parameters = kwargs )
536
539
537
540
try :
538
- r = requests .post (url , data = data ,
539
- headers = headers ,
540
- verify = self .ssl_verify ,
541
- timeout = self .timeout )
541
+ r = self . session .post (url , data = data ,
542
+ headers = headers ,
543
+ verify = self .ssl_verify ,
544
+ timeout = self .timeout )
542
545
except Exception as e :
543
546
raise GitlabConnectionError (
544
547
"Can't connect to GitLab server (%s)" % e )
@@ -585,10 +588,10 @@ def update(self, obj, **kwargs):
585
588
data = obj ._data_for_gitlab (extra_parameters = kwargs , update = True )
586
589
587
590
try :
588
- r = requests .put (url , data = data ,
589
- headers = headers ,
590
- verify = self .ssl_verify ,
591
- timeout = self .timeout )
591
+ r = self . session .put (url , data = data ,
592
+ headers = headers ,
593
+ verify = self .ssl_verify ,
594
+ timeout = self .timeout )
592
595
except Exception as e :
593
596
raise GitlabConnectionError (
594
597
"Can't connect to GitLab server (%s)" % e )
0 commit comments