public NetFlagrHttpClient(HttpClient httpClient, IOptions <NetFlagrConfiguration> configuration) { if (configuration.Value == null) { configuration = Options.Create <NetFlagrConfiguration>(new NetFlagrConfiguration()); } _configuration = configuration.Value; if (string.IsNullOrEmpty(_configuration.BasePath)) { throw new ArgumentException("basePath cannot be empty"); } httpClient.Timeout = TimeSpan.FromMilliseconds(_configuration.Timeout); _client = new FluentClient(new Uri(_configuration.BasePath), httpClient); _client.Filters.Clear(); if (!string.IsNullOrEmpty(_configuration.UserAgent)) { _client.SetUserAgent(_configuration.UserAgent); } else { Version version = typeof(NetFlagrApiClient).GetTypeInfo().Assembly.GetName().Version; _client.SetUserAgent($"NetFlagrHttpClient/{version} (+http://github.com/checkr/NetFlagrHttpClient)"); } }