public GrafanaLokiHttpClient(HttpClient httpClient, GrafanaLokiCredentials credentials, int httpTimeout = -1)
 {
     HttpClient = httpClient ?? new HttpClient();
     if (httpTimeout > 0)
     {
         HttpClient.Timeout = new TimeSpan(0, 0, 0, 0, httpTimeout);
     }
     SetCredentials(credentials);
 }
        public virtual void SetCredentials(GrafanaLokiCredentials credentials)
        {
            if (credentials == null || string.IsNullOrEmpty(credentials.User))
            {
                return;
            }
            var headers = HttpClient.DefaultRequestHeaders;

            if (headers.Any(x => x.Key == "Authorization"))
            {
                return;
            }

            var token = Helpers.Base64Encode($"{credentials.User}:{credentials.Password ?? string.Empty}");

            headers.Add("Authorization", $"Basic {token}");
        }