public static bool SendLog(LogzCredential connection, params LogzLogData[] logs)
 {
     if (connection == null || string.IsNullOrEmpty(connection.LogToken) ||
         string.IsNullOrEmpty(connection.BaseUrl))
     {
         return(false);
     }
     try
     {
         var resp = PostRequest <Object, LogzLogData>(connection, $"?token={connection.LogToken}&type={LogzApi.logType}", logs);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
        public static bool SendMetrics(LogzCredential connection, params LogzMetricsData[] metris)
        {
            if (connection == null || string.IsNullOrEmpty(connection.MetricsToken) ||
                string.IsNullOrEmpty(connection.BaseUrl))
            {
                return(false);
            }

            try
            {
                var resp = PostRequest <object, LogzMetricsData>(connection,
                                                                 $"?token={connection.MetricsToken}&type={metricsType}", metris);
                return(true);
            }
            catch
            {
                return(false);
            }
        }
        private static R PostRequest <R, T>(LogzCredential connection, string requestUri, T[] content) where R : new()
        {
            var data = new StringBuilder();

            foreach (var item in content)
            {
                if (data.Length > 0)
                {
                    data.Append("\n");
                }
                data.Append(ParseRequestContent(item));
            }

            var contentStr = new StringContent(data.ToString(), Encoding.UTF8, "application/json");

            var response = GetClient(connection.BaseUrl).PostAsync(requestUri, contentStr).Result;

            CheckResponse(response);
            return(ParseResponse <R>(response));
        }