Was more explicit about deserialization options, fixed some test_responses code
This commit is contained in:
@@ -107,12 +107,14 @@ namespace Discord
|
|||||||
_serializer.CheckAdditionalContent = true;
|
_serializer.CheckAdditionalContent = true;
|
||||||
_serializer.MissingMemberHandling = MissingMemberHandling.Error;
|
_serializer.MissingMemberHandling = MissingMemberHandling.Error;
|
||||||
#else
|
#else
|
||||||
|
_serializer.CheckAdditionalContent = false;
|
||||||
|
_serializer.MissingMemberHandling = MissingMemberHandling.Ignore;
|
||||||
|
#endif
|
||||||
_serializer.Error += (s, e) =>
|
_serializer.Error += (s, e) =>
|
||||||
{
|
{
|
||||||
e.ErrorContext.Handled = true;
|
e.ErrorContext.Handled = true;
|
||||||
Logger.Error("Serialization Failed", e.ErrorContext.Error);
|
Logger.Error("Serialization Failed", e.ErrorContext.Error);
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
//Networking
|
//Networking
|
||||||
ClientAPI = new RestClient(Config, DiscordConfig.ClientAPIUrl, Log.CreateLogger("ClientAPI"));
|
ClientAPI = new RestClient(Config, DiscordConfig.ClientAPIUrl, Log.CreateLogger("ClientAPI"));
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ namespace Discord.Net.Rest
|
|||||||
private readonly DiscordConfig _config;
|
private readonly DiscordConfig _config;
|
||||||
private readonly IRestEngine _engine;
|
private readonly IRestEngine _engine;
|
||||||
private string _token;
|
private string _token;
|
||||||
|
private JsonSerializerSettings _deserializeSettings;
|
||||||
|
|
||||||
internal Logger Logger { get; }
|
internal Logger Logger { get; }
|
||||||
|
|
||||||
@@ -38,6 +39,15 @@ namespace Discord.Net.Rest
|
|||||||
#else
|
#else
|
||||||
_engine = new BuiltInEngine(config, baseUrl, logger);
|
_engine = new BuiltInEngine(config, baseUrl, logger);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
_deserializeSettings = new JsonSerializerSettings();
|
||||||
|
#if TEST_RESPONSES
|
||||||
|
_deserializeSettings.CheckAdditionalContent = true;
|
||||||
|
_deserializeSettings.MissingMemberHandling = MissingMemberHandling.Error;
|
||||||
|
#else
|
||||||
|
_deserializeSettings.CheckAdditionalContent = false;
|
||||||
|
_deserializeSettings.MissingMemberHandling = MissingMemberHandling.Ignore;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ResponseT> Send<ResponseT>(IRestRequest<ResponseT> request)
|
public async Task<ResponseT> Send<ResponseT>(IRestRequest<ResponseT> request)
|
||||||
@@ -135,22 +145,13 @@ namespace Discord.Net.Rest
|
|||||||
return responseJson;
|
return responseJson;
|
||||||
}
|
}
|
||||||
|
|
||||||
private JsonSerializerSettings _deserializeSettings = new JsonSerializerSettings();
|
|
||||||
private T DeserializeResponse<T>(string json)
|
private T DeserializeResponse<T>(string json)
|
||||||
{
|
{
|
||||||
#if TEST_RESPONSES
|
#if TEST_RESPONSES
|
||||||
if (_deserializeSettings == null)
|
|
||||||
{
|
|
||||||
_deserializeSettings = new JsonSerializerSettings();
|
|
||||||
_deserializeSettings.CheckAdditionalContent = true;
|
|
||||||
_deserializeSettings.MissingMemberHandling = MissingMemberHandling.Error;
|
|
||||||
}
|
|
||||||
if (string.IsNullOrEmpty(json))
|
if (string.IsNullOrEmpty(json))
|
||||||
throw new Exception("API check failed: Response is empty.");
|
throw new Exception("API check failed: Response is empty.");
|
||||||
return JsonConvert.DeserializeObject<T>(json, _deserializeSettings);
|
|
||||||
#else
|
|
||||||
return JsonConvert.DeserializeObject<T>(json);
|
|
||||||
#endif
|
#endif
|
||||||
|
return JsonConvert.DeserializeObject<T>(json, _deserializeSettings);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user