wabbajack/Wabbajack.Common/Metrics.cs

41 lines
1.2 KiB
C#
Raw Normal View History

2019-12-15 04:33:48 +00:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace Wabbajack.Common
{
public class Metrics
{
2020-01-04 02:49:08 +00:00
static Metrics()
{
if (!Utils.HaveEncryptedJson(Consts.MetricsKeyHeader))
{
2020-01-04 23:47:51 +00:00
Utils.ToEcryptedJson(Utils.MakeRandomKey(), Consts.MetricsKeyHeader);
2020-01-04 02:49:08 +00:00
}
}
2019-12-15 04:33:48 +00:00
/// <summary>
/// This is all we track for metrics, action, and value. The action will be like
/// "downloaded", the value "Joe's list".
/// </summary>
/// <param name="action"></param>
/// <param name="value"></param>
2019-12-15 05:04:02 +00:00
public static async Task Send(string action, string value)
2019-12-15 04:33:48 +00:00
{
var client = new HttpClient();
try
{
2020-01-04 23:47:51 +00:00
client.DefaultRequestHeaders.Add(Consts.MetricsKeyHeader,
Utils.FromEncryptedJson<string>(Consts.MetricsKeyHeader));
2019-12-15 05:04:02 +00:00
await client.GetAsync($"http://build.wabbajack.org/metrics/{action}/{value}");
2019-12-15 04:33:48 +00:00
}
2020-01-04 23:47:51 +00:00
catch (Exception ex)
{
}
2019-12-15 04:33:48 +00:00
}
}
}