@@ -134,16 +134,19 @@ def to_json(obj):
134
134
return json .dumps (obj , default = decimal_serializer )
135
135
136
136
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 ):
138
138
error_result = None
139
139
try :
140
140
client_context = None
141
141
if client_context_json :
142
142
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" )
143
146
cognito_identity = None
144
147
if cognito_identity_json :
145
148
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 )
147
150
json_input = try_or_raise (lambda : json .loads (event_body .decode ()), "Unable to parse input as json" )
148
151
result = request_handler (json_input , context )
149
152
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):
220
223
221
224
222
225
class 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 ):
224
227
self .aws_request_id = invoke_id
225
228
self .log_group_name = os .environ .get ('AWS_LAMBDA_LOG_GROUP_NAME' )
226
229
self .log_stream_name = os .environ .get ('AWS_LAMBDA_LOG_STREAM_NAME' )
227
230
self .function_name = os .environ .get ("AWS_LAMBDA_FUNCTION_NAME" )
228
231
self .memory_limit_in_mb = os .environ .get ('AWS_LAMBDA_FUNCTION_MEMORY_SIZE' )
229
232
self .function_version = os .environ .get ('AWS_LAMBDA_FUNCTION_VERSION' )
230
233
self .invoked_function_arn = invoked_function_arn
234
+ self .ce = cloudevents_context
231
235
232
236
self .client_context = make_obj_from_dict (ClientContext , client_context )
233
237
if self .client_context is not None :
@@ -398,6 +402,7 @@ def main():
398
402
event_request .invoke_id ,
399
403
event_request .event_body ,
400
404
event_request .client_context ,
405
+ event_request .cloudevents_context ,
401
406
event_request .cognito_identity ,
402
407
event_request .invoked_function_arn ,
403
408
event_request .deadline_time_in_ms )
0 commit comments