Skip to content

Commit dc0c515

Browse files
committed
fix(configs): Pass cllient configs to token managers
1 parent 5389d81 commit dc0c515

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

ibm_cloud_sdk_core/base_service.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,8 @@ def set_http_config(self, http_config):
330330
"""
331331
if isinstance(http_config, dict):
332332
self.http_config = http_config
333+
if self.token_manager:
334+
self.token_manager.http_config = http_config
333335
else:
334336
raise TypeError("http_config parameter must be a dictionary")
335337

ibm_cloud_sdk_core/jwt_token_manager.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ def __init__(self, url, access_token=None, token_name=None):
3636
self.expire_time = None
3737
self.verify = None # to enable/ disable SSL verification
3838
self.token_name = token_name
39+
self.http_config = {}
3940

4041
def get_token(self):
4142
"""
@@ -130,6 +131,9 @@ def _save_token_info(self, token_response):
130131
self.token_info = token_response
131132

132133
def _request(self, method, url, headers=None, params=None, data=None, auth_tuple=None, **kwargs):
134+
kwargs = dict({"timeout": 60}, **kwargs)
135+
kwargs = dict(kwargs, **self.http_config)
136+
133137
if self.verify is not None:
134138
kwargs['verify'] = not self.verify
135139

test/test_base_service.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,3 +482,16 @@ def test_files():
482482
form_data['file1'] = (None, file, 'application/octet-stream')
483483
form_data['string1'] = (None, 'hello', 'text.plain')
484484
service.request('GET', url='', headers={'X-opt-out': True}, files=form_data)
485+
486+
def test_setting_proxy():
487+
service = BaseService('test', 'http://bogus', iam_apikey='testkey')
488+
assert service.token_manager is not None
489+
assert service.token_manager.http_config == {}
490+
491+
http_config = {
492+
"proxies": {
493+
"http": "user:password@host:port"
494+
}
495+
}
496+
service.set_http_config(http_config)
497+
assert service.token_manager.http_config == http_config

0 commit comments

Comments
 (0)