feat(DiscordAPIError): backport method property (#2536)

This commit is contained in:
Kyra
2018-05-03 22:47:50 +02:00
committed by SpaceEEC
parent a89de09855
commit 8700e965c5
3 changed files with 11 additions and 3 deletions

View File

@@ -3,7 +3,7 @@
* @extends Error * @extends Error
*/ */
class DiscordAPIError extends Error { class DiscordAPIError extends Error {
constructor(path, error) { constructor(path, error, method) {
super(); super();
const flattened = this.constructor.flattenErrors(error.errors || error).join('\n'); const flattened = this.constructor.flattenErrors(error.errors || error).join('\n');
this.name = 'DiscordAPIError'; this.name = 'DiscordAPIError';
@@ -20,6 +20,12 @@ class DiscordAPIError extends Error {
* @type {number} * @type {number}
*/ */
this.code = error.code; this.code = error.code;
/**
* The HTTP method used for the request
* @type {string}
*/
this.method = method;
} }
/** /**

View File

@@ -47,7 +47,8 @@ class BurstRequestHandler extends RequestHandler {
this.resetTimeout = null; this.resetTimeout = null;
}, 1e3 + this.client.options.restTimeOffset); }, 1e3 + this.client.options.restTimeOffset);
} else { } else {
item.reject(err.status >= 400 && err.status < 500 ? new DiscordAPIError(res.request.path, res.body) : err); item.reject(err.status >= 400 && err.status < 500 ?
new DiscordAPIError(res.request.path, res.body, res.request.method) : err);
this.handle(); this.handle();
} }
} else { } else {

View File

@@ -68,7 +68,8 @@ class SequentialRequestHandler extends RequestHandler {
this.queue.unshift(item); this.queue.unshift(item);
this.restManager.client.setTimeout(resolve, 1e3 + this.restManager.client.options.restTimeOffset); this.restManager.client.setTimeout(resolve, 1e3 + this.restManager.client.options.restTimeOffset);
} else { } else {
item.reject(err.status >= 400 && err.status < 500 ? new DiscordAPIError(res.request.path, res.body) : err); item.reject(err.status >= 400 && err.status < 500 ?
new DiscordAPIError(res.request.path, res.body, res.request.method) : err);
resolve(err); resolve(err);
} }
} else { } else {