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