Skip to content

Commit 070db2f

Browse files
authored
Merge pull request #13 from cloudblue/add_params_to_client_error
add support for additional kwargs to the ClientError
2 parents feab003 + 6b8f71d commit 070db2f

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

cnct/client/exceptions.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22

33

44
class ClientError(Exception):
5-
def __init__(self, message=None, status_code=None, error_code=None, errors=None):
5+
def __init__(self, message=None, status_code=None, error_code=None, errors=None, **kwargs):
66
self.message = message
77
self.status_code = status_code
88
self.error_code = error_code
99
self.errors = errors
10+
self.additional_info = kwargs
1011

1112
def __repr__(self):
1213
return f'<ClientError {self.status_code}: {self.error_code}>'

tests/client/test_exceptions.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,12 @@ def test_connect_error():
66

77
assert repr(c) == '<ClientError 400: error_code>'
88
assert str(c) == '400 Bad Request: error_code - msg1,msg2'
9+
10+
def test_connect_error_additional_info():
11+
additional_info = {
12+
'attr1': 'val1',
13+
'attr2': 'val2',
14+
}
15+
16+
c = ClientError(status_code=400, error_code='error_code', errors=['msg1', 'msg2'], **additional_info)
17+
assert c.additional_info == additional_info

0 commit comments

Comments
 (0)