Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
 public HttpGateway(IPusherLogger logger, string baseUrl, int timeoutMs)
     : this(logger, baseUrl, timeoutMs, new Dictionary <string, string>())
 {
 }
Exemplo n.º 3
0
 public HttpGatewayProvider(IPusherLogger logger)
 {
     _logger = logger;
 }
Exemplo n.º 4
0
 public FakeHttpGateway(IPusherLogger logger)
 {
     _logger = logger;
 }
Exemplo n.º 5
0
 public LoadPusher(IHttpGatewayProvider httpGatewayProvider, IPusherLogger logger)
 {
     _httpGatewayProvider = httpGatewayProvider;
     _logger = logger;
 }