2424CORS_NON_DICT_ERROR = "Invalid response type for CORS headers"
2525CORS_INVALID_TYPE_LOG_MESSAGE = "Cannot set %s header to a non %s value"
2626CORS_NON_DICT_LOG_MESSAGE = "Cannot add headers to a non dictionary response"
27+ UNKNOWN = "Unknown"
2728
2829
2930def extract_from_event (parameters , group_errors = False ):
@@ -87,6 +88,7 @@ def lambda_handler(event, context, user_id=None)
8788 def decorator (func ):
8889 def wrapper (* args , ** kwargs ):
8990 try :
91+ param = None
9092 errors = []
9193 arg_dictionary = all_func_args (func , args , kwargs )
9294 for param in parameters :
@@ -98,17 +100,19 @@ def wrapper(*args, **kwargs):
98100 if not group_errors :
99101 LOGGER .error (VALIDATE_ERROR_MESSAGE , errors )
100102 return failure (errors )
101- elif return_val is not None :
103+ else :
102104 kwargs [param .get_var_name ()] = return_val
103105 except Exception as ex : # noqa: pylint - broad-except
104- LOGGER .error (EXCEPTION_LOG_MESSAGE , full_name (ex ), str (ex ), param .func_param_name , param .path )
106+ LOGGER .error (EXCEPTION_LOG_MESSAGE , full_name (ex ), str (ex ),
107+ param .func_param_name if param else UNKNOWN ,
108+ param .path if param else UNKNOWN )
105109 return failure (ERROR_MESSAGE )
110+ else :
111+ if group_errors and errors :
112+ LOGGER .error (VALIDATE_ERROR_MESSAGE , errors )
113+ return failure (errors )
106114
107- if group_errors and errors :
108- LOGGER .error (VALIDATE_ERROR_MESSAGE , errors )
109- return failure (errors )
110-
111- return func (* args , ** kwargs )
115+ return func (* args , ** kwargs )
112116 return wrapper
113117 return decorator
114118
0 commit comments