"""Common functions for handling of warming events.""" from functools import wraps def catch_warmer_event(warming_event=None): """Check event body before a lambda handler call. If event is equal warming_event (default {}) then handler returns {}. Args: warming_event (dict): Expected event body for warming lambda call. Returns: function (callable): The decorated function. """ def call_lambda_handler_within_warming_event_checking(lambda_handler): @wraps(lambda_handler) def wrapper(event, context): expected_event = {} if warming_event is None else warming_event if expected_event == event: return {} return lambda_handler(event, context) return wrapper return call_lambda_handler_within_warming_event_checking