22 lines
506 B
JavaScript
22 lines
506 B
JavaScript
'use strict';
|
|
|
|
/**
|
|
* Application-level error.
|
|
* status — HTTP status code
|
|
* code — machine-readable error code
|
|
* message — human-readable message
|
|
* extra — optional additional fields merged into the response body
|
|
*/
|
|
class AppError extends Error {
|
|
constructor(status, code, message, extra = null) {
|
|
super(message);
|
|
this.name = 'AppError';
|
|
this.status = status;
|
|
this.code = code;
|
|
this.isAppError = true;
|
|
this.extra = extra;
|
|
}
|
|
}
|
|
|
|
module.exports = { AppError };
|