From 6eb2d9bd81368aa1bbc4c80656db1ea5db419a21 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 10 Nov 2018 12:29:19 +0200 Subject: Change: catch and log exceptions when handling requests --- muck_poc | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/muck_poc b/muck_poc index 1912ca4..4072228 100755 --- a/muck_poc +++ b/muck_poc @@ -76,13 +76,19 @@ class MuckAPI: def _check_authz(self, req_method, req_scope, callback): def check_authz(): - r = muck.Request(method=bottle.request.method) - r.add_headers(bottle.request.headers) - if self._ac.request_is_allowed(r, req_method, [req_scope]): - claims = self._ac.get_claims_from_token(r) - return callback(claims) - logging.error('Access denied') - return bottle.HTTPError(401) + try: + rr = bottle.request + logging.info('Request: %s %s', rr.method, rr.path) + r = muck.Request(method=rr.method) + r.add_headers(rr.headers) + if self._ac.request_is_allowed(r, req_method, [req_scope]): + claims = self._ac.get_claims_from_token(r) + return callback(claims) + logging.error('Access denied') + return bottle.HTTPError(401) + except BaseException as e: + logging.error(repr(e), exc_info=True) + raise return check_authz -- cgit v1.2.1