@@ -134,16 +134,19 @@ def to_json(obj):
134134 return json .dumps (obj , default = decimal_serializer )
135135
136136
137- def handle_event_request (lambda_runtime_client , request_handler , invoke_id , event_body , client_context_json , cognito_identity_json , invoked_function_arn , epoch_deadline_time_in_ms ):
137+ def handle_event_request (lambda_runtime_client , request_handler , invoke_id , event_body , client_context_json , cloudevents_context_json , cognito_identity_json , invoked_function_arn , epoch_deadline_time_in_ms ):
138138 error_result = None
139139 try :
140140 client_context = None
141141 if client_context_json :
142142 client_context = try_or_raise (lambda : json .loads (client_context_json ), "Unable to parse client context json" )
143+ cloudevents_context = None
144+ if cloudevents_context_json :
145+ cloudevents_context = try_or_raise (lambda : json .loads (cloudevents_context_json ), "Unable to parse cloudevents context json" )
143146 cognito_identity = None
144147 if cognito_identity_json :
145148 cognito_identity = try_or_raise (lambda : json .loads (cognito_identity_json ), "Unable to parse cognito identity json" )
146- context = LambdaContext (invoke_id , client_context , cognito_identity , epoch_deadline_time_in_ms , invoked_function_arn )
149+ context = LambdaContext (invoke_id , client_context , cloudevents_context , cognito_identity , epoch_deadline_time_in_ms , invoked_function_arn )
147150 json_input = try_or_raise (lambda : json .loads (event_body .decode ()), "Unable to parse input as json" )
148151 result = request_handler (json_input , context )
149152 result = try_or_raise (lambda : to_json (result ), "An error occurred during JSON serialization of response" )
@@ -220,14 +223,15 @@ def set_obj_from_dict(obj, _dict, fields=None):
220223
221224
222225class LambdaContext (object ):
223- def __init__ (self , invoke_id , client_context , cognito_identity , epoch_deadline_time_in_ms , invoked_function_arn = None ):
226+ def __init__ (self , invoke_id , client_context , cloudevents_context , cognito_identity , epoch_deadline_time_in_ms , invoked_function_arn = None ):
224227 self .aws_request_id = invoke_id
225228 self .log_group_name = os .environ .get ('AWS_LAMBDA_LOG_GROUP_NAME' )
226229 self .log_stream_name = os .environ .get ('AWS_LAMBDA_LOG_STREAM_NAME' )
227230 self .function_name = os .environ .get ("AWS_LAMBDA_FUNCTION_NAME" )
228231 self .memory_limit_in_mb = os .environ .get ('AWS_LAMBDA_FUNCTION_MEMORY_SIZE' )
229232 self .function_version = os .environ .get ('AWS_LAMBDA_FUNCTION_VERSION' )
230233 self .invoked_function_arn = invoked_function_arn
234+ self .ce = cloudevents_context
231235
232236 self .client_context = make_obj_from_dict (ClientContext , client_context )
233237 if self .client_context is not None :
@@ -398,6 +402,7 @@ def main():
398402 event_request .invoke_id ,
399403 event_request .event_body ,
400404 event_request .client_context ,
405+ event_request .cloudevents_context ,
401406 event_request .cognito_identity ,
402407 event_request .invoked_function_arn ,
403408 event_request .deadline_time_in_ms )
0 commit comments