"use strict"; const defaultValue = require("default-value"); const http = require("http"); module.exports = function errorHandler(error, _req, res, _next) { let statusCode = (error.isHttpError && error.statusCode != null) ? error.statusCode : 500; let errorCode = (error.isHttpError && error.errorCode != null) ? error.errorCode : "M_UNKNOWN"; let errorMessage = (error.errorCode !== 500) ? defaultValue(error.message, http.STATUS_CODES[statusCode]) : "An internal server error occurred. Please contact the server administrator for more information." /* TODO: Add contact details? */ let errorMeta = (error.errorMeta != null) ? error.errorMeta : {}; res.json(Object.assign({}, errorMeta, { errcode: errorCode, error: errorMessage })); };