Don't add margin for rate limit delays

This commit is contained in:
Tyrrrz 2022-12-15 20:18:32 +02:00
parent e5d5f1c85f
commit 324d6bab20
2 changed files with 3 additions and 3 deletions

View file

@ -36,7 +36,7 @@ public class DiscordClient
{ {
using var request = new HttpRequestMessage(HttpMethod.Get, new Uri(_baseUri, url)); using var request = new HttpRequestMessage(HttpMethod.Get, new Uri(_baseUri, url));
// Don't validate because token can have special characters // Don't validate because the token can have special characters
// https://github.com/Tyrrrz/DiscordChatExporter/issues/828 // https://github.com/Tyrrrz/DiscordChatExporter/issues/828
request.Headers.TryAddWithoutValidation( request.Headers.TryAddWithoutValidation(
"Authorization", "Authorization",
@ -68,7 +68,7 @@ public class DiscordClient
.Pipe(s => TimeSpan.FromSeconds(double.Parse(s, CultureInfo.InvariantCulture))); .Pipe(s => TimeSpan.FromSeconds(double.Parse(s, CultureInfo.InvariantCulture)));
if (remainingRequestCount <= 0 && resetAfterDelay is not null) if (remainingRequestCount <= 0 && resetAfterDelay is not null)
await Task.Delay(resetAfterDelay.Value + TimeSpan.FromSeconds(1), innerCancellationToken); await Task.Delay(resetAfterDelay.Value, innerCancellationToken);
return response; return response;
}, cancellationToken); }, cancellationToken);

View file

@ -41,7 +41,7 @@ public static class Http
{ {
// If rate-limited, use retry-after header as the guide // If rate-limited, use retry-after header as the guide
if (result.Result.Headers.RetryAfter?.Delta is { } retryAfter) if (result.Result.Headers.RetryAfter?.Delta is { } retryAfter)
return retryAfter + TimeSpan.FromSeconds(1); return retryAfter;
return TimeSpan.FromSeconds(Math.Pow(2, i) + 1); return TimeSpan.FromSeconds(Math.Pow(2, i) + 1);
}, },