500
Version:
Generate 500 response errors.
35 lines (27 loc) • 863 B
JavaScript
;
var production = process.env.NODE_ENV === 'production';
/**
* Generic 500 response handler.
*
* @param {Response} res HTTP server response object.
* @param {Mixed} message Message that needs to presented to user.
* @api private
*/
module.exports = function fivehundered(res, message) {
res.statusCode = 500;
if ('object' === typeof message) {
res.setHeader('Content-Type', 'application/json');
if (message instanceof Error && typeof message.toJSON !== 'function') {
message = {
message: message.message,
stack: production && message.stack
};
}
message = JSON.stringify(message, null, production ? 0 : 2);
}
if (!res.getHeader('Content-Type')) {
res.setHeader('Content-Type', 'plain/text');
}
res.setHeader('Content-Length', Buffer.byteLength(message));
res.end(message);
};