def _register_function_extension(cls, extension):
        """Flatten the function extension structure into function hooks"""
        # Should skip registering FuncExtensionBase, cannot use isinstance(),
        # referring to func_extension_hooks introduces a dependency cycle
        if extension.__class__.__name__ == 'FuncExtensionBase':
            return

        trigger_name = extension._trigger_name
        cls._set_hooks_for_function(trigger_name, extension)

        # Record function extension information
        hooks_info = cls._info.setdefault(  # type: ignore
            'FuncExtension', {}).setdefault(trigger_name, [])
        hooks_info.append(extension.__class__.__name__)
Flatten the function extension structure into function hooks
Solutions/CyberArkAudit/Data Connectors/.python_packages/lib/site-packages/azure/functions/extension/extension_meta.py