public ArribaClient(Uri url, TimeSpan?timeout = null) { HttpClientHandler handler = new HttpClientHandler(); handler.UseDefaultCredentials = true; // Enable windows auth _httpClient = new HttpClient(handler); _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*")); _httpClient.BaseAddress = url; _httpClient.Timeout = timeout ?? _httpClient.Timeout; _serializerSettings = new JsonSerializerSettings() { ContractResolver = new CamelCasePropertyNamesContractResolver() { NamingStrategy = new CamelCaseNamingStrategy() { ProcessDictionaryKeys = false } }, Formatting = Debugger.IsAttached ? Formatting.Indented : Formatting.None }; // TODO: Use composition to import Converters foreach (JsonConverter converter in ConverterFactory.GetArribaConverters()) { _serializerSettings.Converters.Add(converter); } }