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}"); }