Initial commit
This commit is contained in:
61
src/rest/HTTPError.js
Normal file
61
src/rest/HTTPError.js
Normal file
@@ -0,0 +1,61 @@
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Represents an HTTP error from a request.
|
||||
* @extends Error
|
||||
*/
|
||||
class HTTPError extends Error {
|
||||
constructor(message, name, code, request) {
|
||||
super(message);
|
||||
|
||||
/**
|
||||
* The name of the error
|
||||
* @type {string}
|
||||
*/
|
||||
this.name = name;
|
||||
|
||||
/**
|
||||
* HTTP error code returned from the request
|
||||
* @type {number}
|
||||
*/
|
||||
this.code = code ?? 500;
|
||||
|
||||
/**
|
||||
* The HTTP method used for the request
|
||||
* @type {string}
|
||||
*/
|
||||
this.method = request.method;
|
||||
|
||||
/**
|
||||
* The path of the request relative to the HTTP endpoint
|
||||
* @type {string}
|
||||
*/
|
||||
this.path = request.path;
|
||||
|
||||
/**
|
||||
* The HTTP data that was sent to Discord
|
||||
* @typedef {Object} HTTPErrorData
|
||||
* @property {*} json The JSON data that was sent
|
||||
* @property {HTTPAttachmentData[]} files The files that were sent with this request, if any
|
||||
*/
|
||||
|
||||
/**
|
||||
* The attachment data that is sent to Discord
|
||||
* @typedef {Object} HTTPAttachmentData
|
||||
* @property {string|Buffer|Stream} attachment The source of this attachment data
|
||||
* @property {string} name The file name
|
||||
* @property {Buffer|Stream} file The file buffer
|
||||
*/
|
||||
|
||||
/**
|
||||
* The data associated with the request that caused this error
|
||||
* @type {HTTPErrorData}
|
||||
*/
|
||||
this.requestData = {
|
||||
json: request.options.data,
|
||||
files: request.options.files ?? [],
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = HTTPError;
|
||||
Reference in New Issue
Block a user