public static void SendData([NotNull] string name, [NotNull] object obj) {
using (var memory = new MemoryStream()) {
using (var writer = WriterFactory.Open(memory, ArchiveType.Zip, CompressionType.Deflate)) {
try {
writer.WriteString(name, JsonConvert.SerializeObject(obj));
} catch (Exception e) {
Logging.Warning($"Can’t attach {obj}: " + e);
}
}
var data = memory.ToArray();
if (data.Length > 20000000) {
File.WriteAllBytes(FilesStorage.Instance.GetTemporaryFilename("Data.zip"), data);
throw new Exception("Size limit exceeded");
}
InternalUtils.SendData(memory.ToArray(), $@"Name: {GetUserName()}
Operating system: {GetWindowsName()}
App version: {BuildInformation.AppVersion}", CmApiProvider.UserAgent);
}
}
}