Skip to content

Commit 3c19dd1

Browse files
committed
WIP commit.
1 parent 2ce89aa commit 3c19dd1

2 files changed

Lines changed: 15 additions & 12 deletions

File tree

awscli/clidriver.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -492,12 +492,12 @@ def invoke(self, operation_object, parameters, parsed_globals):
492492
pages = operation_object.paginate(endpoint, **parameters)
493493
self._display_response(operation_object, pages,
494494
parsed_globals)
495-
return 0
496495
else:
497496
http_response, response_data = operation_object.call(endpoint,
498497
**parameters)
499498
self._display_response(operation_object, response_data,
500499
parsed_globals)
500+
return 0
501501

502502
def _display_response(self, operation, response, args):
503503
output = args.output

awscli/errorhandler.py

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@
1717
LOG = logging.getLogger(__name__)
1818

1919

20+
class ClientError(Exception):
21+
pass
22+
23+
24+
class ServerError(Exception):
25+
pass
26+
27+
2028
class ErrorHandler(object):
2129
"""
2230
This class is responsible for handling any HTTP errors that occur
@@ -28,23 +36,18 @@ class ErrorHandler(object):
2836
with an appropriate error code.
2937
"""
3038

31-
ClientError = "A client error ({error_code}) occurred: {error_message}"
32-
ServerError = "A server error ({error_code}) occurred: {error_message}"
33-
3439
def __call__(self, http_response, parsed, operation, **kwargs):
3540
LOG.debug('HTTP Response Code: %d', http_response.status_code)
3641
if http_response.status_code >= 500:
3742
code, message = self._get_error_code_and_message(parsed)
38-
sys.stderr.write(self.ServerError.format(error_code=code,
39-
error_message=message))
40-
sys.stderr.write('\n')
41-
sys.exit(http_response.status_code - 399)
43+
msg = "A server error ({error_code}) occurred: {error_message}"
44+
msg = msg.format(error_code=code, error_message=message)
45+
raise ServerError(msg)
4246
if http_response.status_code >= 400 or http_response.status_code == 301:
4347
code, message = self._get_error_code_and_message(parsed)
44-
sys.stderr.write(self.ClientError.format(error_code=code,
45-
error_message=message))
46-
sys.stderr.write('\n')
47-
sys.exit(http_response.status_code - 399)
48+
msg = "A client error ({error_code}) occurred: {error_message}"
49+
msg = msg.format(error_code=code, error_message=message)
50+
raise ClientError(msg)
4851
return 0
4952

5053
def _get_error_code_and_message(self, response):

0 commit comments

Comments
 (0)