Skip to content

Commit 181fd9a

Browse files
committed
Removed urllib dependency
1 parent 78813cf commit 181fd9a

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

configcatclient/configfetcher.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import requests
22
import logging
3-
import urllib.parse
43
import sys
54
from cachecontrol import CacheControl
6-
75
from .interfaces import ConfigFetcher
86
from .version import CONFIGCATCLIENT_VERSION
97

@@ -27,14 +25,13 @@ def __init__(self, api_key, mode, base_url=None):
2725
'X-ConfigCat-UserAgent': 'ConfigCat-Python/' + mode + '-' + CONFIGCATCLIENT_VERSION,
2826
'Content-Type': "application/json"}
2927
if base_url is not None:
30-
self._base_url = base_url
28+
self._base_url = base_url.rstrip('/')
3129
else:
3230
self._base_url = BASE_URL
3331

3432
def get_configuration_json(self):
3533
log.debug("Fetching configuration from ConfigCat")
36-
path = BASE_PATH + self._api_key + BASE_EXTENSION
37-
uri = urllib.parse.urljoin(self._base_url, path)
34+
uri = self._base_url + '/' + BASE_PATH + self._api_key + BASE_EXTENSION
3835
response = self._request_cache.get(uri, headers=self._headers, timeout=(10, 30))
3936
response.raise_for_status()
4037
json = response.json()

configcatclienttests/test_integration_configcatclient.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,11 @@ def test_client_works_valid_base_url(self):
4848
self.assertEqual('This text came from ConfigCat', client.get_value('keySampleText', 'default value'))
4949
client.stop()
5050

51+
def test_client_works_valid_base_url_trailing_slash(self):
52+
client = configcatclient.create_client_with_auto_poll(_API_KEY, base_url='https://cdn.configcat.com/')
53+
self.assertEqual('This text came from ConfigCat', client.get_value('keySampleText', 'default value'))
54+
client.stop()
55+
5156
def test_client_works_invalid_base_url(self):
5257
client = configcatclient.create_client_with_auto_poll(_API_KEY, base_url='https://invalidcdn.configcat.com')
5358
self.assertEqual('default value', client.get_value('keySampleText', 'default value'))

0 commit comments

Comments
 (0)