public SdkApiClient(HTTPHeader header, string baseUrl, long connectionTimeOut, long readTimeout, IMetricsLog metricsLog = null) { ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate }; httpClient = new HttpClient(handler); httpClient.BaseAddress = new Uri(baseUrl); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", header.authorizationApiKey); httpClient.DefaultRequestHeaders.Add("SplitSDKVersion", header.splitSDKVersion); httpClient.DefaultRequestHeaders.Add("SplitSDKSpecVersion", header.splitSDKSpecVersion); if (!String.IsNullOrEmpty(header.splitSDKMachineName)) { httpClient.DefaultRequestHeaders.Add("SplitSDKMachineName", header.splitSDKMachineName); } if (!String.IsNullOrEmpty(header.splitSDKMachineIP)) { httpClient.DefaultRequestHeaders.Add("SplitSDKMachineIP", header.splitSDKMachineIP); } httpClient.DefaultRequestHeaders.Add("Accept-Encoding", "gzip"); httpClient.DefaultRequestHeaders.Add("Keep-Alive", "true"); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); //TODO: find a way to store it in sepparated parameters httpClient.Timeout = TimeSpan.FromMilliseconds((connectionTimeOut + readTimeout)); this.metricsLog = metricsLog; }
public SdkApiClient(HTTPHeader header, string baseUrl, long connectionTimeOut, long readTimeout, IMetricsLog metricsLog = null) { #if NET40 || NET45 ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; #endif var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate }; _httpClient = new HttpClient(handler) { BaseAddress = new Uri(baseUrl), //TODO: find a way to store it in sepparated parameters Timeout = TimeSpan.FromMilliseconds((connectionTimeOut + readTimeout)) }; _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", header.authorizationApiKey); _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); _httpClient.DefaultRequestHeaders.Add("SplitSDKVersion", header.splitSDKVersion); _httpClient.DefaultRequestHeaders.Add("SplitSDKSpecVersion", header.splitSDKSpecVersion); _httpClient.DefaultRequestHeaders.Add("Accept-Encoding", "gzip"); _httpClient.DefaultRequestHeaders.Add("Keep-Alive", "true"); if (!string.IsNullOrEmpty(header.splitSDKMachineName) && !header.splitSDKMachineName.Equals(Constans.Unknown)) { _httpClient.DefaultRequestHeaders.Add("SplitSDKMachineName", header.splitSDKMachineName); } if (!string.IsNullOrEmpty(header.splitSDKMachineIP) && !header.splitSDKMachineIP.Equals(Constans.Unknown)) { _httpClient.DefaultRequestHeaders.Add("SplitSDKMachineIP", header.splitSDKMachineIP); } if (header.SplitSDKImpressionsMode != null) { _httpClient.DefaultRequestHeaders.Add("SplitSDKImpressionsMode", header.SplitSDKImpressionsMode.Value.ToString()); } _metricsLog = metricsLog; }