in azure_functions_worker/functions.py [0:0]
def add_indexed_function(self, function):
func = function.get_user_function()
func_name = function.get_function_name()
function_id = str(uuid.uuid5(namespace=uuid.NAMESPACE_OID,
name=func_name))
return_binding_name: typing.Optional[str] = None
explicit_return_val_set = False
has_explicit_return = False
has_implicit_return = False
sig = inspect.signature(func)
params = dict(sig.parameters)
annotations = typing.get_type_hints(func)
func_dir = str(pathlib.Path(inspect.getfile(func)).parent)
bound_params = {}
for binding in function.get_bindings():
self.validate_binding_direction(binding.name,
binding.direction,
func_name)
has_explicit_return, has_implicit_return = \
self.get_explicit_and_implicit_return(
binding.name, binding, has_explicit_return,
has_implicit_return, bound_params)
return_binding_name, explicit_return_val_set = \
self.get_return_binding(binding.name,
binding.type,
return_binding_name,
explicit_return_val_set)
requires_context = self.is_context_required(params, bound_params,
annotations,
func_name)
(input_types, output_types,
deferred_bindings_enabled) = self.validate_function_params(
params,
bound_params,
annotations,
func_name)
return_type = \
self.get_function_return_type(annotations,
has_explicit_return,
has_implicit_return,
return_binding_name,
func_name)
return \
self.add_func_to_registry_and_return_funcinfo(
func, func_name, function_id, func_dir,
requires_context, has_explicit_return,
has_implicit_return, deferred_bindings_enabled,
input_types, output_types,
return_type)