Skip to content

Commit 292dfff

Browse files
authored
Merge pull request #1027 from nejch/fix/base-url-trailing-slash
Fix: remove trailing slash in base URL
2 parents e8f0921 + 2e396e4 commit 292dfff

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

gitlab/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ def __init__(
9090

9191
self._api_version = str(api_version)
9292
self._server_version = self._server_revision = None
93-
self._base_url = url
94-
self._url = "%s/api/v%s" % (url, api_version)
93+
self._base_url = url.rstrip("/")
94+
self._url = "%s/api/v%s" % (self._base_url, api_version)
9595
#: Timeout to use for requests to gitlab server
9696
self.timeout = timeout
9797
#: Headers that will be used in request to GitLab

gitlab/tests/test_gitlab.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,23 @@ def resp_cont(url, request):
376376
self.assertRaises(GitlabHttpError, self.gl.http_delete, "/not_there")
377377

378378

379+
class TestGitlabStripBaseUrl(unittest.TestCase):
380+
def setUp(self):
381+
self.gl = Gitlab(
382+
"http://localhost/", private_token="private_token", api_version=4
383+
)
384+
385+
def test_strip_base_url(self):
386+
self.assertEqual(self.gl.url, "http://localhost")
387+
388+
def test_strip_api_url(self):
389+
self.assertEqual(self.gl.api_url, "http://localhost/api/v4")
390+
391+
def test_build_url(self):
392+
r = self.gl._build_url("/projects")
393+
self.assertEqual(r, "http://localhost/api/v4/projects")
394+
395+
379396
class TestGitlabAuth(unittest.TestCase):
380397
def test_invalid_auth_args(self):
381398
self.assertRaises(

0 commit comments

Comments
 (0)