//using Newtonsoft.Json; //using System; //using System.Net.Http; //using System.Net.Http.Headers; //using System.Text; //using System.Threading.Tasks; //namespace Optimizer //{ // internal static class TelemetryHelper // { // const string GEO_LOOKUP_URL = "http://ip-api.com/json/"; // static TelemetryData telemetryEntry = new TelemetryData(); // internal static HttpClient TelemetryClient; // internal const string TELEMETRY_API_URL = ""; // internal const string TELEMETRY_KEY = @"{OPTIMIZER-0EFC7B8A-D1FC-467F-B4B1-0117C643FE19-TELEMETRY}"; // internal static async void EnableTelemetryService() // { // TelemetryClient = new HttpClient(); // TelemetryClient.BaseAddress = new Uri(TELEMETRY_API_URL); // TelemetryClient.DefaultRequestHeaders.Add("Optimizertelemetrykey", TELEMETRY_KEY); // TelemetryClient.DefaultRequestHeaders // .Accept // .Add(new MediaTypeWithQualityHeaderValue("application/json")); // await CacheTelemetryData(); // } // internal static async Task GetSessionCountry() // { // try // { // string result = await TelemetryClient.GetStringAsync(GEO_LOOKUP_URL); // GeoLookupResult x = JsonConvert.DeserializeObject(result); // if (x.status == "success") // { // return x.country; // } // else // { // return "Unknown"; // } // } // catch // { // return "Unknown"; // } // } // internal static async Task CacheTelemetryData() // { // telemetryEntry.Country = await GetSessionCountry(); // telemetryEntry.WindowsVersion = Utilities.GetWindowsDetails(); // telemetryEntry.DotNetVersion = Utilities.GetNETFramework(); // telemetryEntry.OptimizerVersion = Program.GetCurrentVersionTostring(); // telemetryEntry.UnsafeMode = Program.UNSAFE_MODE.ToString(); // telemetryEntry.ExperimentalBuild = Program.EXPERIMENTAL_BUILD.ToString(); // telemetryEntry.TelemetryID = Options.CurrentOptions.TelemetryClientID; // } // internal static void GenerateTelemetryData(string functionName, string errorMessage, string errorStackTrace) // { // telemetryEntry.Timestamp = string.Format("{0:yyyy-MM-ddTHH:mm:ss.FFFZ}", DateTime.UtcNow); // telemetryEntry.LanguageCode = Enum.GetName(typeof(LanguageCode), Options.CurrentOptions.LanguageCode); // telemetryEntry.SavedOptions = JsonConvert.SerializeObject(Options.CurrentOptions, Formatting.Indented); // telemetryEntry.FunctionName = functionName; // telemetryEntry.ErrorMessage = errorMessage; // telemetryEntry.StackTrace = errorStackTrace; // SendTelemetryData(telemetryEntry); // } // internal static void SendTelemetryData(TelemetryData entry) // { // try // { // StringContent bodyContent = new StringContent(JsonConvert.SerializeObject(telemetryEntry, Formatting.Indented), Encoding.UTF8, "application/json"); // TelemetryClient.PostAsync(TelemetryClient.BaseAddress, bodyContent); // } // catch { } // } // } //}