fix(RequestHandler): only retry once on 5xx (#2471)

This commit is contained in:
SpaceEEC
2018-05-25 17:33:17 +02:00
committed by GitHub
parent 56a9d1ba3c
commit 14aab1be38

View File

@@ -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);