in awslambdaric/bootstrap.py [0:0]
def _get_handler(handler):
try:
(modname, fname) = handler.rsplit(".", 1)
except ValueError as e:
raise FaultException(
FaultException.MALFORMED_HANDLER_NAME,
"Bad handler '{}': {}".format(handler, str(e)),
)
try:
if modname.split(".")[0] in sys.builtin_module_names:
raise FaultException(
FaultException.BUILT_IN_MODULE_CONFLICT,
"Cannot use built-in module {} as a handler module".format(modname),
)
m = importlib.import_module(modname.replace("/", "."))
except ImportError as e:
raise FaultException(
FaultException.IMPORT_MODULE_ERROR,
"Unable to import module '{}': {}".format(modname, str(e)),
)
except SyntaxError as e:
trace = [' File "%s" Line %s\n %s' % (e.filename, e.lineno, e.text)]
raise FaultException(
FaultException.USER_CODE_SYNTAX_ERROR,
"Syntax error in module '{}': {}".format(modname, str(e)),
trace,
)
try:
request_handler = getattr(m, fname)
except AttributeError:
fault = FaultException(
FaultException.HANDLER_NOT_FOUND,
"Handler '{}' missing on module '{}'".format(fname, modname),
None,
)
raise fault
return request_handler