From bb9c43b21ada1955cdbc67f07c04c20804e85f4e Mon Sep 17 00:00:00 2001 From: ObsidianMinor Date: Mon, 7 Nov 2016 13:42:25 -0600 Subject: [PATCH] Update RequestQueueBucket.cs Access "Date" in response header safely with TryGetValue. Hopefully nothing bad happens when lag is 0 --- src/Discord.Net.Core/Net/Queue/RequestQueueBucket.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Discord.Net.Core/Net/Queue/RequestQueueBucket.cs b/src/Discord.Net.Core/Net/Queue/RequestQueueBucket.cs index b750afbf6..755c4e5ca 100644 --- a/src/Discord.Net.Core/Net/Queue/RequestQueueBucket.cs +++ b/src/Discord.Net.Core/Net/Queue/RequestQueueBucket.cs @@ -49,7 +49,9 @@ namespace Discord.Net.Queue Debug.WriteLine($"[{id}] Sending..."); var response = await request.SendAsync().ConfigureAwait(false); - TimeSpan lag = DateTimeOffset.UtcNow - DateTimeOffset.Parse(response.Headers["Date"]); + string headerDate; + bool headerHasDate = response.Headers.TryGetValue("Date", out headerDate); + TimeSpan lag = DateTimeOffset.UtcNow - (headerHasDate ? DateTimeOffset.Parse(headerDate) : DateTimeOffset.UtcNow); var info = new RateLimitInfo(response.Headers); if (response.StatusCode < (HttpStatusCode)200 || response.StatusCode >= (HttpStatusCode)300) @@ -236,4 +238,4 @@ namespace Discord.Net.Queue } } } -} \ No newline at end of file +}