internal InfluxDb(InfluxDbClientConfiguration influxDbClientConfiguration) { switch (influxDbClientConfiguration.InfluxVersion) { case InfluxVersion.Auto: _influxDbClient = new InfluxDbClientAutoVersion(influxDbClientConfiguration); break; case InfluxVersion.v09x: _influxDbClient = new InfluxDbClientBase(influxDbClientConfiguration); break; case InfluxVersion.v096: _influxDbClient = new InfluxDbClientV096(influxDbClientConfiguration); break; case InfluxVersion.v095: _influxDbClient = new InfluxDbClientV095(influxDbClientConfiguration); break; case InfluxVersion.v092: _influxDbClient = new InfluxDbClientV092(influxDbClientConfiguration); break; case InfluxVersion.v08x: throw new NotImplementedException(); default: throw new ArgumentOutOfRangeException("influxDbClientConfiguration", String.Format("Unknown version {0}.", influxDbClientConfiguration)); } }
public InfluxDbClientAutoVersion(InfluxDbClientConfiguration influxDbClientConfiguration) { _influxDbClient = new InfluxDbClientBase(influxDbClientConfiguration); var errorHandlers = new List<ApiResponseErrorHandlingDelegate>(); // TODO: needs testing - potentially bad if it's going to ping for every request var result = _influxDbClient.Ping(errorHandlers).Result; var databaseVersion = result.Body; if (databaseVersion.StartsWith("0.9")) { switch (databaseVersion) { case "0.9.2": _influxDbClient = new InfluxDbClientV092(influxDbClientConfiguration); break; case "0.9.5": _influxDbClient = new InfluxDbClientV092(influxDbClientConfiguration); break; case "0.9.6": _influxDbClient = new InfluxDbClientV092(influxDbClientConfiguration); break; } } else { throw new InvalidOperationException(String.Format("Version {0} is not supported by the Auto configuration.", databaseVersion)); } }
public InfluxDbClientV095(InfluxDbClientConfiguration configuration) : base(configuration) { }
public InfluxDbClientBase(InfluxDbClientConfiguration configuration) { _configuration = configuration; }