feature: Add support for setting X-RateLimit-Precision (#1354)
* support X-RateLimit-Reset sending integer or float values This changes the way that the X-RateLimit-Request header is parsed, so that it will work with both integer seconds and float values with seconds and milliseconds * Add RateLimitPrecision enum, set X-RateLimit-Precision Adds the RateLimitPrecision enum, with Second and Millisecond values. (Do we want to use an extension method to convert it into a string, or is ToString().ToLower() fine?) Adds RateLimitPrecision as a parameter to DiscordRestApiClient, and to DiscordConfig so that it can set the X-RateLimit-Precision header.
This commit is contained in:
committed by
Christopher F
parent
07f4d5f353
commit
9482204bcf
@@ -36,7 +36,7 @@ namespace Discord
|
||||
typeof(DiscordConfig).GetTypeInfo().Assembly.GetCustomAttribute<AssemblyInformationalVersionAttribute>()?.InformationalVersion ??
|
||||
typeof(DiscordConfig).GetTypeInfo().Assembly.GetName().Version.ToString(3) ??
|
||||
"Unknown";
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets the user agent that Discord.Net uses in its clients.
|
||||
/// </summary>
|
||||
@@ -123,7 +123,7 @@ namespace Discord
|
||||
/// The currently set <see cref="RetryMode"/>.
|
||||
/// </returns>
|
||||
public RetryMode DefaultRetryMode { get; set; } = RetryMode.AlwaysRetry;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the minimum log level severity that will be sent to the Log event.
|
||||
/// </summary>
|
||||
@@ -140,5 +140,17 @@ namespace Discord
|
||||
/// the API version it uses on startup.
|
||||
/// </remarks>
|
||||
internal bool DisplayInitialLog { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the level of precision of the rate limit reset response.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// If set to <see cref="RateLimitPrecision.Second"/>, this value will be rounded up to the
|
||||
/// nearest second.
|
||||
/// </remarks>
|
||||
/// <returns>
|
||||
/// The currently set <see cref="RateLimitPrecision"/>.
|
||||
/// </returns>
|
||||
public RateLimitPrecision RateLimitPrecision { get; set; } = RateLimitPrecision.Second;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user