From fa56396d5f4776369abce6b86efaa92a07717c7f Mon Sep 17 00:00:00 2001 From: Clark Schneider Date: Mon, 9 May 2022 17:48:49 +0000 Subject: [PATCH] inputHandler RequestParser returns consumer_request_context as aoorived_context --- .../eval_engine_lambdalith/lambda_function.py | 2 + .../lambda_function.py | 3 +- .../lambdas/output_handler/lambda_function.py | 39 ++++++++++--------- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/supplementary_files/handlers_stack/lambdas/eval_engine_lambdalith/lambda_function.py b/supplementary_files/handlers_stack/lambdas/eval_engine_lambdalith/lambda_function.py index d957c121..499f1518 100644 --- a/supplementary_files/handlers_stack/lambdas/eval_engine_lambdalith/lambda_function.py +++ b/supplementary_files/handlers_stack/lambdas/eval_engine_lambdalith/lambda_function.py @@ -133,6 +133,8 @@ def lambda_handler(event,context): "ApprovedContext":request_json_body['Context'] } + print(f'approved_context:\n{approved_context}') + with open(approved_context_path,'w') as f: json.dump(approved_context,f,indent=2) diff --git a/supplementary_files/handlers_stack/lambdas/invoked_by_apigw_cloudformation/lambda_function.py b/supplementary_files/handlers_stack/lambdas/invoked_by_apigw_cloudformation/lambda_function.py index 49d64139..db19dd6b 100644 --- a/supplementary_files/handlers_stack/lambdas/invoked_by_apigw_cloudformation/lambda_function.py +++ b/supplementary_files/handlers_stack/lambdas/invoked_by_apigw_cloudformation/lambda_function.py @@ -117,7 +117,7 @@ def integrate_with_my_entitlement_system(consumer_metadata,consumer_request_cont if integrate_with_my_entitlement_system(self.consumer_metadata,self.consumer_request_context): - self.approved_context = self.consumer_metadata + self.approved_context = self.consumer_request_context return self.approved_context @@ -177,7 +177,6 @@ def generate_uuid(): def generate_s3_uuid_uri(*,bucket): - uuid = generate_uuid() s3_uri = f's3://{bucket}/{uuid}' diff --git a/supplementary_files/handlers_stack/lambdas/output_handler/lambda_function.py b/supplementary_files/handlers_stack/lambdas/output_handler/lambda_function.py index 0c01e507..555ead42 100644 --- a/supplementary_files/handlers_stack/lambdas/output_handler/lambda_function.py +++ b/supplementary_files/handlers_stack/lambdas/output_handler/lambda_function.py @@ -24,7 +24,7 @@ def get_object(*,bucket,key): print(f'ClientError:\nbucket:\n{bucket}\nkey:\n{key}\n{e}') raise else: - print(f'no ClientError get_object:\nbucket:\n{bucket}\nkey:\n{key}') + print(f'no ClientError get_object:\nbucket:\n{bucket}\nkey:\n{key}\n') body = r['Body'] content = json.loads(body.read().decode('utf-8')) return content @@ -36,6 +36,21 @@ def handle_infractions(infractions): print(f'begin processing infractions:\n{infraction}') # TODO +def s3_object_lambda_send_response(*,request_route,request_token,response_object:dict): + + try: + s3.write_get_object_response( + RequestRoute=request_route, + RequestToken=request_token, + Body=json.dumps(response_object).encode('utf-8'), + ) + except ClientError as e: + print(f'ClientError:\nrequest_route:\n{request_route}\nrequest_token:\n{request_token}\n{e}') + raise + else: + print(f'no ClientError write_get_object_response:\nrequest_route:\n{request_route}\nrequest_token:\n{request_token}\n{e}') + + return {'status_code': 200} def parse_pac_results(pac_results): @@ -56,22 +71,6 @@ def parse_pac_results(pac_results): return infractions, is_allowed -def s3_object_lambda_send_response(*,request_route,request_token,response_object:dict): - - try: - s3.write_get_object_response( - RequestRoute=request_route, - RequestToken=request_token, - Body=json.dumps(response_object).encode('utf-8'), - ) - except ClientError as e: - print(f'ClientError:\nrequest_route:\n{request_route}\nrequest_token:\n{request_token}\n{e}') - raise - else: - print(f'no ClientError write_get_object_response:\nrequest_route:\n{request_route}\nrequest_token:\n{request_token}\n{e}') - - return {'status_code': 200} - def lambda_handler(event,context): print(f'event\n{event}\ncontext:\n{context}') @@ -99,7 +98,7 @@ def lambda_handler(event,context): request_token = object_get_context["outputToken"] original_object_s3_url = object_get_context["inputS3Url"] - # Get object from S3 + # get original original_object_response = requests.get(original_object_s3_url) @@ -107,6 +106,8 @@ def lambda_handler(event,context): print(f'original_object:\n{original_object}\n') + # parse pac results + pac_results = original_object infractions, is_allowed = parse_pac_results(pac_results) @@ -124,6 +125,8 @@ def lambda_handler(event,context): print(f'results_report:\n{results_report}\n') + # put response + return s3_object_lambda_send_response( request_route=request_route, request_token=request_token,