def __call__()

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