From 6545509adec4d27c09f2b9bbff5b38da32471e70 Mon Sep 17 00:00:00 2001 From: RogueException Date: Wed, 22 Jun 2016 16:10:19 -0300 Subject: [PATCH] Readded 502 handling --- src/Discord.Net/Net/Queue/RequestQueueBucket.cs | 5 +++++ src/Discord.Net/Net/Rest/DefaultRestClient.cs | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Discord.Net/Net/Queue/RequestQueueBucket.cs b/src/Discord.Net/Net/Queue/RequestQueueBucket.cs index bfc7e2bb2..08bd1a388 100644 --- a/src/Discord.Net/Net/Queue/RequestQueueBucket.cs +++ b/src/Discord.Net/Net/Queue/RequestQueueBucket.cs @@ -1,6 +1,7 @@ #pragma warning disable CS4014 using System; using System.IO; +using System.Net; using System.Threading; using System.Threading.Tasks; @@ -68,6 +69,10 @@ namespace Discord.Net.Queue //We have all our semaphores, send the request return await request.SendAsync().ConfigureAwait(false); } + catch (HttpException ex) when (ex.StatusCode == HttpStatusCode.BadGateway) + { + continue; + } catch (HttpRateLimitException ex) { Pause(ex.RetryAfterMilliseconds); diff --git a/src/Discord.Net/Net/Rest/DefaultRestClient.cs b/src/Discord.Net/Net/Rest/DefaultRestClient.cs index 3b133e615..43b405966 100644 --- a/src/Discord.Net/Net/Rest/DefaultRestClient.cs +++ b/src/Discord.Net/Net/Rest/DefaultRestClient.cs @@ -127,7 +127,8 @@ namespace Discord.Net.Rest if (statusCode == 429) { //TODO: Include bucket info - throw new HttpRateLimitException(int.Parse(response.Headers.GetValues("retry-after").First())); + int retryAfterMillis = int.Parse(response.Headers.GetValues("retry-after").First()); + throw new HttpRateLimitException(retryAfterMillis); } string reason = null;