public HttpGateway(IPusherLogger logger, string baseUrl, int timeoutMs, IDictionary <string, string> defaultHeaders) { //ServicePointManager.UseNagleAlgorithm = false; //ServicePointManager.DefaultConnectionLimit = 100; //ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; // Used in test scenarios //ServicePointManager.ReusePort = true; // .NET 4.6 feature to allow more than 65k req/sec (available ports) _logger = logger; // Flesh out defaults for the underlying HttpClient _httpClient = new HttpClient { BaseAddress = new Uri(baseUrl), Timeout = TimeSpan.FromMilliseconds(timeoutMs) }; foreach (var kv in defaultHeaders) { if (kv.Key == "Content-Type") { _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(kv.Value)); } else { _httpClient.DefaultRequestHeaders.Add(kv.Key, kv.Value); } } }
public HttpGateway(IPusherLogger logger, string baseUrl, int timeoutMs) : this(logger, baseUrl, timeoutMs, new Dictionary <string, string>()) { }
public HttpGatewayProvider(IPusherLogger logger) { _logger = logger; }
public FakeHttpGateway(IPusherLogger logger) { _logger = logger; }
public LoadPusher(IHttpGatewayProvider httpGatewayProvider, IPusherLogger logger) { _httpGatewayProvider = httpGatewayProvider; _logger = logger; }