in src/onprem/app.py [0:0]
def __call__(self, callback: Callable):
def wrapper(*args, **kwargs):
header = (request.headers.get('Authorization') or
request.headers.get('authorization'))
token = self.get_token_from_header(header)
if not token:
resp = ResponseFactory(HTTPStatus.UNAUTHORIZED).default()
return self._to_bottle_resp(resp)
try:
decoded = SERVICE_PROVIDER.cognito.decode_token(token)
except ApplicationException as e:
return self._to_bottle_resp(e.response)
sign = inspect.signature(callback)
if 'decoded_token' in sign.parameters:
_LOG.debug('Expanding callback with decoded token')
kwargs['decoded_token'] = decoded
return callback(*args, **kwargs)
return wrapper