in src/onprem/app.py [0:0]
def _callback(decoded_token: dict | None = None, **path_params):
method = request.method
path = request.route.rule
event = {
'httpMethod': request.method,
'path': request.path,
'headers': dict(request.headers),
'requestContext': {
# 'stage': '', # currently, not used on onprem
'resourcePath': path.replace('<', '{').replace('>', '}').replace('proxy', 'proxy+'), # kludge
'path': request.fullpath
},
'pathParameters': path_params
}
if decoded_token:
event['requestContext']['authorizer'] = {
'claims': {
'cognito:username': decoded_token.get('cognito:username'),
'sub': decoded_token.get('sub'),
'custom:customer': decoded_token.get('custom:customer'),
'custom:is_system': decoded_token.get('custom:is_system'),
'custom:role': decoded_token.get('custom:role'),
}
}
if method == 'GET':
event['queryStringParameters'] = dict(request.query)
else:
event['body'] = request.body.read().decode()
event['isBase64Encoded'] = False
response = HANDLER.lambda_handler(event, RequestContext())
return HTTPResponse(
body=response['body'],
status=response['statusCode'],
headers=response['headers']
)