summaryrefslogtreecommitdiff
path: root/pygerrit
diff options
context:
space:
mode:
authorDavid Pursehouse <david.pursehouse@sonymobile.com>2013-09-12 22:38:24 +0900
committerDavid Pursehouse <david.pursehouse@sonymobile.com>2013-09-13 19:04:40 +0900
commit4ec910683aba2fb9862260c9c77e8287b4976a92 (patch)
tree35d7e8050fb755bc6093a85b9d2fdfcd77fb34e3 /pygerrit
parent87b68fc2db307fe4e294abd913bcee80ecb9cb7f (diff)
downloadpygerrit-4ec910683aba2fb9862260c9c77e8287b4976a92.tar.gz
Add method to build url from endpoint
Add a convenience method to construct the url to be passed to the server, from the base url and the given endpoint. Change-Id: I1725a371aa8a82c132039a9614bf20223af591f3
Diffstat (limited to 'pygerrit')
-rw-r--r--pygerrit/rest/__init__.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/pygerrit/rest/__init__.py b/pygerrit/rest/__init__.py
index 9cee718..0d24794 100644
--- a/pygerrit/rest/__init__.py
+++ b/pygerrit/rest/__init__.py
@@ -122,6 +122,18 @@ class GerritRestAPI(object):
else:
if self.url.endswith(GERRIT_AUTH_SUFFIX):
self.url = self.url[: - len(GERRIT_AUTH_SUFFIX)]
+ if not self.url.endswith('/'):
+ self.url += '/'
+
+ def make_url(self, endpoint):
+ """ Make the necessary url from `endpoint`.
+
+ Strip leading slashes off the endpoint, and return the full
+ url.
+
+ """
+ endpoint = endpoint.lstrip('/')
+ return self.url + endpoint
def get(self, endpoint, params=None):
""" Send HTTP GET to `endpoint`.
@@ -132,7 +144,7 @@ class GerritRestAPI(object):
kwargs = self.kwargs.copy()
if params:
kwargs['params'] = params
- response = self.session.get(self.url + endpoint, **kwargs)
+ response = self.session.get(self.make_url(endpoint), **kwargs)
return _decode_response(response)
def put(self, endpoint, params=None, data=None):
@@ -146,7 +158,7 @@ class GerritRestAPI(object):
kwargs['params'] = params
if data:
kwargs['data'] = data
- response = self.session.put(self.url + endpoint, **kwargs)
+ response = self.session.put(self.make_url(endpoint), **kwargs)
return _decode_response(response)
def post(self, endpoint, params=None, data=None):
@@ -160,7 +172,7 @@ class GerritRestAPI(object):
kwargs['params'] = params
if data:
kwargs['data'] = data
- response = self.session.post(self.url + endpoint, **kwargs)
+ response = self.session.post(self.make_url(endpoint), **kwargs)
return _decode_response(response)
def delete(self, endpoint):
@@ -170,5 +182,5 @@ class GerritRestAPI(object):
"""
kwargs = self.kwargs.copy()
- response = self.session.delete(self.url + endpoint, **kwargs)
+ response = self.session.delete(self.make_url(endpoint), **kwargs)
return _decode_response(response)