mirror of
https://github.com/Tyrrrz/DiscordChatExporter.git
synced 2026-06-10 00:02:37 -06:00
Make rate-limit header parsing null-safe
Use ParseOrNull helpers for X-RateLimit-Remaining and X-RateLimit-Reset-After header values and make the TimeSpan conversion null-safe. This prevents exceptions when rate-limit headers are missing or malformed and keeps resetAfterDelay nullable while preserving existing rate-limit logic.
This commit is contained in:
parent
47a163e982
commit
f990910865
|
|
@ -856,12 +856,12 @@ public class DiscordClient(
|
||||||
{
|
{
|
||||||
var remainingRequestCount = response
|
var remainingRequestCount = response
|
||||||
.Headers.TryGetValue("X-RateLimit-Remaining")
|
.Headers.TryGetValue("X-RateLimit-Remaining")
|
||||||
?.Pipe(s => int.Parse(s, CultureInfo.InvariantCulture));
|
?.Pipe(s => int.ParseOrNull(s, CultureInfo.InvariantCulture));
|
||||||
|
|
||||||
var resetAfterDelay = response
|
var resetAfterDelay = response
|
||||||
.Headers.TryGetValue("X-RateLimit-Reset-After")
|
.Headers.TryGetValue("X-RateLimit-Reset-After")
|
||||||
?.Pipe(s => double.Parse(s, CultureInfo.InvariantCulture))
|
?.Pipe(s => double.ParseOrNull(s, CultureInfo.InvariantCulture))
|
||||||
.Pipe(TimeSpan.FromSeconds);
|
?.Pipe(TimeSpan.FromSeconds);
|
||||||
|
|
||||||
if (remainingRequestCount <= 0 && resetAfterDelay is not null)
|
if (remainingRequestCount <= 0 && resetAfterDelay is not null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue