private string PrepareRequestUri(LineProtocolClientOptions lineProtocolClientOptions)
        {
            string endpoint = $"write?db={Uri.EscapeDataString(lineProtocolClientOptions.DatabaseName)}";

            if (!string.IsNullOrEmpty(lineProtocolClientOptions.UserName))
            {
                endpoint += $"&u={Uri.EscapeDataString(lineProtocolClientOptions.UserName)}&p={Uri.EscapeDataString(lineProtocolClientOptions.Password)}";
            }

            return(endpoint);
        }
        public LineProtocolClient(LineProtocolClientOptions lineProtocolClientOptions)
        {
            lineProtocolClientOptions.Validate();
            _useGzipCompression = lineProtocolClientOptions.UseGzipCompression;

            _httpClientHandler = new HttpClientHandler {
                AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate
            };
            _httpClient = new HttpClient(_httpClientHandler)
            {
                BaseAddress = lineProtocolClientOptions.ServerBaseAddress
            };

            _requestUri = PrepareRequestUri(lineProtocolClientOptions);
        }