if not InternalApiConfig._initialized:
            InternalApiConfig._init_values()
        return InternalApiConfig._internal_api_endpoint
    @staticmethod
    def _init_values():
        use_internal_api = conf.getboolean("core", "database_access_isolation")
        internal_api_endpoint = ""
        if use_internal_api:
            internal_api_url = conf.get("core", "internal_api_url")
            internal_api_endpoint = internal_api_url + "/internal_api/v1/rpcapi"
            if not internal_api_endpoint.startswith("http://"):
                raise AirflowConfigException("[core]internal_api_url must start with http://")
        InternalApiConfig._initialized = True
        InternalApiConfig._use_internal_api = use_internal_api
        InternalApiConfig._internal_api_endpoint = internal_api_endpoint
def internal_api_call(func: Callable[PS, RT]) -> Callable[PS, RT]:
    """Decorator for methods which may be executed in database isolation mode.
    If [core]database_access_isolation is true then such method are not executed locally,
    but instead RPC call is made to Database API (aka Internal API). This makes some components
    decouple from direct Airflow database access.
    Each decorated method must be present in METHODS list in airflow.api_internal.endpoints.rpc_api_endpoint.
    Only static methods can be decorated. This decorator must be before "provide_session".
    See [AIP-44](https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-44+Airflow+Internal+API)
    for more information .
    """
    headers = {
        "Content-Type": "application/json",
    }
    def make_jsonrpc_request(method_name: str, params_json: str) -> bytes: