From 14aab1be3836eaa873f91c4fbe1456786add6e04 Mon Sep 17 00:00:00 2001 From: SpaceEEC Date: Fri, 25 May 2018 17:33:17 +0200 Subject: [PATCH] fix(RequestHandler): only retry once on 5xx (#2471) --- src/rest/handlers/RequestHandler.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/rest/handlers/RequestHandler.js b/src/rest/handlers/RequestHandler.js index 317661cae..069386ae0 100644 --- a/src/rest/handlers/RequestHandler.js +++ b/src/rest/handlers/RequestHandler.js @@ -80,8 +80,14 @@ class RequestHandler { this.queue.unshift(item); finish(Number(res.headers['retry-after']) + this.client.options.restTimeOffset); } else if (err.status >= 500 && err.status < 600) { - this.queue.unshift(item); - finish(1e3 + this.client.options.restTimeOffset); + if (item.retried) { + item.reject(err); + finish(); + } else { + item.retried = true; + this.queue.unshift(item); + finish(1e3 + this.client.options.restTimeOffset); + } } else { item.reject(err.status >= 400 && err.status < 500 ? new DiscordAPIError(res.request.path, res.body, res.request.method) : err);