summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGauvain Pocentek <gauvain@pocentek.net>2016-05-08 11:36:17 +0200
committerGauvain Pocentek <gauvain@pocentek.net>2016-05-08 11:36:17 +0200
commit23e8146a391e4269e9b3d57a553148963d412179 (patch)
tree7bfdcca8023a741b3418af4668b122617196f293
parent61bc24fd341e53718f8b9c06c3ac1bbcd55d2530 (diff)
parent858352b9a337471401dd2c8d9552c13efab625e6 (diff)
downloadgitlab-23e8146a391e4269e9b3d57a553148963d412179.tar.gz
Merge pull request #108 from guyzmo/using_requests_session
Adding a Session instance for all HTTP requests
-rw-r--r--gitlab/__init__.py75
1 files changed, 39 insertions, 36 deletions
diff --git a/gitlab/__init__.py b/gitlab/__init__.py
index 6c75195..f5e4294 100644
--- a/gitlab/__init__.py
+++ b/gitlab/__init__.py
@@ -122,6 +122,9 @@ class Gitlab(object):
#: Whether SSL certificates should be validated
self.ssl_verify = ssl_verify
+ #: Create a session object for requests
+ self.session = requests.Session()
+
self.settings = ApplicationSettingsManager(self)
self.user_keys = UserKeyManager(self)
self.users = UserManager(self)
@@ -260,11 +263,11 @@ class Gitlab(object):
headers = self._create_headers(content_type)
try:
- return requests.get(url,
- params=kwargs,
- headers=headers,
- verify=self.ssl_verify,
- timeout=self.timeout)
+ return self.session.get(url,
+ params=kwargs,
+ headers=headers,
+ verify=self.ssl_verify,
+ timeout=self.timeout)
except Exception as e:
raise GitlabConnectionError(
"Can't connect to GitLab server (%s)" % e)
@@ -298,10 +301,10 @@ class Gitlab(object):
url = '%s%s' % (self._url, path)
headers = self._create_headers(content_type)
try:
- return requests.post(url, params=kwargs, data=data,
- headers=headers,
- verify=self.ssl_verify,
- timeout=self.timeout)
+ return self.session.post(url, params=kwargs, data=data,
+ headers=headers,
+ verify=self.ssl_verify,
+ timeout=self.timeout)
except Exception as e:
raise GitlabConnectionError(
"Can't connect to GitLab server (%s)" % e)
@@ -311,10 +314,10 @@ class Gitlab(object):
headers = self._create_headers(content_type)
try:
- return requests.put(url, data=data, params=kwargs,
- headers=headers,
- verify=self.ssl_verify,
- timeout=self.timeout)
+ return self.session.put(url, data=data, params=kwargs,
+ headers=headers,
+ verify=self.ssl_verify,
+ timeout=self.timeout)
except Exception as e:
raise GitlabConnectionError(
"Can't connect to GitLab server (%s)" % e)
@@ -324,11 +327,11 @@ class Gitlab(object):
headers = self._create_headers(content_type)
try:
- return requests.delete(url,
- params=kwargs,
- headers=headers,
- verify=self.ssl_verify,
- timeout=self.timeout)
+ return self.session.delete(url,
+ params=kwargs,
+ headers=headers,
+ verify=self.ssl_verify,
+ timeout=self.timeout)
except Exception as e:
raise GitlabConnectionError(
"Can't connect to GitLab server (%s)" % e)
@@ -366,9 +369,9 @@ class Gitlab(object):
del params[attribute]
try:
- r = requests.get(url, params=params, headers=headers,
- verify=self.ssl_verify,
- timeout=self.timeout)
+ r = self.session.get(url, params=params, headers=headers,
+ verify=self.ssl_verify,
+ timeout=self.timeout)
except Exception as e:
raise GitlabConnectionError(
"Can't connect to GitLab server (%s)" % e)
@@ -434,8 +437,8 @@ class Gitlab(object):
del params[attribute]
try:
- r = requests.get(url, params=params, headers=headers,
- verify=self.ssl_verify, timeout=self.timeout)
+ r = self.session.get(url, params=params, headers=headers,
+ verify=self.ssl_verify, timeout=self.timeout)
except Exception as e:
raise GitlabConnectionError(
"Can't connect to GitLab server (%s)" % e)
@@ -487,11 +490,11 @@ class Gitlab(object):
del params[attribute]
try:
- r = requests.delete(url,
- params=params,
- headers=headers,
- verify=self.ssl_verify,
- timeout=self.timeout)
+ r = self.session.delete(url,
+ params=params,
+ headers=headers,
+ verify=self.ssl_verify,
+ timeout=self.timeout)
except Exception as e:
raise GitlabConnectionError(
"Can't connect to GitLab server (%s)" % e)
@@ -535,10 +538,10 @@ class Gitlab(object):
data = obj._data_for_gitlab(extra_parameters=kwargs)
try:
- r = requests.post(url, data=data,
- headers=headers,
- verify=self.ssl_verify,
- timeout=self.timeout)
+ r = self.session.post(url, data=data,
+ headers=headers,
+ verify=self.ssl_verify,
+ timeout=self.timeout)
except Exception as e:
raise GitlabConnectionError(
"Can't connect to GitLab server (%s)" % e)
@@ -585,10 +588,10 @@ class Gitlab(object):
data = obj._data_for_gitlab(extra_parameters=kwargs, update=True)
try:
- r = requests.put(url, data=data,
- headers=headers,
- verify=self.ssl_verify,
- timeout=self.timeout)
+ r = self.session.put(url, data=data,
+ headers=headers,
+ verify=self.ssl_verify,
+ timeout=self.timeout)
except Exception as e:
raise GitlabConnectionError(
"Can't connect to GitLab server (%s)" % e)