internal static bool IsLocalKustoConnection()

in src/Utilities.cs [320:356]


        internal static bool IsLocalKustoConnection(KustoConnectionStringBuilder kcsb)
        {
            try
            {
                var source = kcsb.DataSource;
                if (String.IsNullOrWhiteSpace(source))
                {
                    return false;
                }

                var uri = new Uri(source);
                var targetHost = uri.IdnHost;

                var targetAddresses = System.Net.Dns.GetHostAddresses(targetHost);
                var localAddresses = System.Net.Dns.GetHostAddresses(System.Net.Dns.GetHostName());

                foreach (var targetAddress in targetAddresses)
                {
                    if (System.Net.IPAddress.IsLoopback(targetAddress))
                    {
                        return true;
                    }

                    foreach (var localAddress in localAddresses)
                    {
                        if (targetAddress.Equals(localAddress))
                        {
                            return true;
                        }
                    }
                }

                return false;
            }
            catch { }
            return false;
        }