public KubeHttpSettingsWinContainerProvider()

in src/ApplicationInsights.Kubernetes/K8sHttpClient/KubeHttpSettingsWinContainerProvider.cs [12:49]


        public KubeHttpSettingsWinContainerProvider(
            string serviceAccountFolder = @"C:\var\run\secrets\kubernetes.io\serviceaccount",
            string tokenFileName = "token",
            string certFileName = "ca.crt",
            string namespaceFileName = "namespace",
            string kubernetesServiceHost = null,
            string kubernetesServicePort = null)
            : base(kubernetesServiceHost, kubernetesServicePort)
        {
            // Container id won't be fetched for windows container.
            ContainerId = null;
            DirectoryInfo serviceAccountDirectory =
                new DirectoryInfo(Arguments.IsNotNullOrEmpty(serviceAccountFolder, nameof(serviceAccountFolder)));
            foreach (FileInfo fileInfo in serviceAccountDirectory.EnumerateFiles("*", SearchOption.AllDirectories))
            {
                // Per current symbolic linking settings, reading the file directly will fail.
                if (!fileInfo.Attributes.HasFlag(FileAttributes.ReparsePoint))
                {
                    string fileName = fileInfo.Name;
                    if (fileName.Equals(Arguments.IsNotNullOrEmpty(tokenFileName, nameof(tokenFileName)), StringComparison.OrdinalIgnoreCase))
                    {
                        _tokenFilePath = fileInfo.FullName;
                        _logger.LogDebug("Found token file path: {0}", _tokenFilePath);
                    }
                    else if (fileName.Equals(Arguments.IsNotNullOrEmpty(certFileName, nameof(certFileName)), StringComparison.OrdinalIgnoreCase))
                    {
                        _certFilePath = fileInfo.FullName;
                        _logger.LogDebug("Found certificate file path: {0}", _certFilePath);
                    }
                    else if (fileName.Equals(Arguments.IsNotNullOrEmpty(namespaceFileName, nameof(namespaceFileName)), StringComparison.OrdinalIgnoreCase))
                    {
                        _namespaceFilePath = fileInfo.FullName;
                        _logger.LogDebug("Found namespace file path: {0}", _namespaceFilePath);
                    }
                }
            }
            QueryNamespace = FetchQueryNamespace(_namespaceFilePath);
        }