diff --git a/src/InfluxDB.Collector/Configuration/CollectorEmitConfiguration.cs b/src/InfluxDB.Collector/Configuration/CollectorEmitConfiguration.cs index 37546e3..1241174 100644 --- a/src/InfluxDB.Collector/Configuration/CollectorEmitConfiguration.cs +++ b/src/InfluxDB.Collector/Configuration/CollectorEmitConfiguration.cs @@ -1,11 +1,12 @@ using System; +using System.Net.Http; using InfluxDB.Collector.Pipeline; namespace InfluxDB.Collector.Configuration { public abstract class CollectorEmitConfiguration { - public abstract CollectorConfiguration InfluxDB(Uri serverBaseAddress, string database, string username = null, string password = null); + public abstract CollectorConfiguration InfluxDB(Uri serverBaseAddress, string database, string username = null, string password = null, HttpMessageHandler handler = null); public CollectorConfiguration InfluxDB(string serverBaseAddress, string database, string username = null, string password = null) { diff --git a/src/InfluxDB.Collector/Configuration/PipelinedCollectorEmitConfiguration.cs b/src/InfluxDB.Collector/Configuration/PipelinedCollectorEmitConfiguration.cs index 81666b1..887f776 100644 --- a/src/InfluxDB.Collector/Configuration/PipelinedCollectorEmitConfiguration.cs +++ b/src/InfluxDB.Collector/Configuration/PipelinedCollectorEmitConfiguration.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Net.Http; using InfluxDB.Collector.Pipeline; using InfluxDB.Collector.Pipeline.Emit; @@ -20,12 +21,15 @@ public PipelinedCollectorEmitConfiguration( _configuration = configuration; } - public override CollectorConfiguration InfluxDB(Uri serverBaseAddress, string database, string username = null, string password = null) + public override CollectorConfiguration InfluxDB(Uri serverBaseAddress, string database, string username = null, string password = null, HttpMessageHandler handler = null) { + if (handler == null) + handler = new HttpClientHandler(); + if (string.Compare(serverBaseAddress.Scheme, "udp", ignoreCase: true) == 0) _client = new LineProtocolUdpClient(serverBaseAddress, database, username, password); else - _client = new LineProtocolClient(serverBaseAddress, database, username, password); + _client = new LineProtocolClient(handler, serverBaseAddress, database, username, password); return _configuration; } diff --git a/src/InfluxDB.LineProtocol/Client/LineProtocolClient.cs b/src/InfluxDB.LineProtocol/Client/LineProtocolClient.cs index 279962c..baaecaf 100644 --- a/src/InfluxDB.LineProtocol/Client/LineProtocolClient.cs +++ b/src/InfluxDB.LineProtocol/Client/LineProtocolClient.cs @@ -19,7 +19,7 @@ public LineProtocolClient(Uri serverBaseAddress, string database, string usernam { } - protected LineProtocolClient( + public LineProtocolClient( HttpMessageHandler handler, Uri serverBaseAddress, string database,