/var/www/myprog.com.ua/server/node/objects
Edit: /var/www/myprog.com.ua/server/node/objects/custom_error.js (1772B)
module.exports = class CustomError extends Error {
constructor(code, message, metadata) {
let name;
switch (parseInt(code)) {
case 400:
message = message ? message : 'Bad Request';
name = 'BAD_REQUEST_ERROR';
break;
case 401:
message = message ? message : 'Unauthorized';
name = 'UNAUTHORIZED_ERROR';
break;
case 402:
message = message ? message : 'Payment Required';
name = 'PAYMENT_REQURED_ERROR';
break;
case 403:
message = message ? message : 'Forbidden';
name = 'FORBIDDEN_ERROR';
break;
case 404:
message = message ? message : 'Not Found';
name = 'NOT_FOUND_ERROR';
break;
case 405:
message = message ? message : 'Method Not Allowed';
name = 'NOT_ALLOWED_ERROR';
break;
case 500:
message = message ? message : 'Internal Server Error';
name = 'SERVER_ERROR';
break;
default:
message = message ? message : 'Неизвестная ошибка.'
name = 'UNKNOWN_ERROR';
}
super();
this.name = name;
this.code = code;
this.error = code;
this.message = message;
this.metadata = metadata;
}
toString() {
let str = `ERROR_CODE: ${this.code ? this.code : ''}. `;
str += `${this.stack}\n`;
if (this.metadata) {
str += `${util.inspect(this.metadata)}\n`;
}
return str;
}
}