From e836cb66e4992b067a8df6a794d90096be3be242 Mon Sep 17 00:00:00 2001 From: JustArchi Date: Mon, 22 Feb 2021 17:56:03 +0100 Subject: [PATCH] STD: Make data field in response optional Data field is not included in case of non-200 status codes. --- .../ResponseData.cs | 6 +++--- .../SteamTokenDumperPlugin.cs | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/ResponseData.cs b/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/ResponseData.cs index 450ffd18b..b597fc576 100644 --- a/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/ResponseData.cs +++ b/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/ResponseData.cs @@ -25,8 +25,8 @@ using Newtonsoft.Json; namespace ArchiSteamFarm.OfficialPlugins.SteamTokenDumper { [SuppressMessage("ReSharper", "ClassCannotBeInstantiated")] internal sealed class ResponseData { - [JsonProperty(PropertyName = "data", Required = Required.Always)] - internal readonly InternalData Data = new(); + [JsonProperty(PropertyName = "data", Required = Required.DisallowNull)] + internal readonly InternalData? Data; #pragma warning disable CS0649 [JsonProperty(PropertyName = "success", Required = Required.Always)] @@ -53,7 +53,7 @@ namespace ArchiSteamFarm.OfficialPlugins.SteamTokenDumper { #pragma warning restore CS0649 [JsonConstructor] - internal InternalData() { } + private InternalData() { } } } } diff --git a/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/SteamTokenDumperPlugin.cs b/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/SteamTokenDumperPlugin.cs index a71ea07c3..c1074a591 100644 --- a/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/SteamTokenDumperPlugin.cs +++ b/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/SteamTokenDumperPlugin.cs @@ -488,6 +488,12 @@ namespace ArchiSteamFarm.OfficialPlugins.SteamTokenDumper { return; } + if (response.Content.Data == null) { + ASF.ArchiLogger.LogGenericError(string.Format(Strings.ErrorIsInvalid), nameof(response.Content.Data)); + + return; + } + ASF.ArchiLogger.LogGenericInfo($"Data successfully submitted. Newly registered apps/subs/depots: {response.Content.Data.NewAppsCount}/{response.Content.Data.NewSubsCount}/{response.Content.Data.NewDepotsCount}."); GlobalCache.UpdateSubmittedData(appTokens, packageTokens, depotKeys);