diff --git a/lib/errors.js b/lib/errors.js deleted file mode 100644 index f86e8aa37..000000000 --- a/lib/errors.js +++ /dev/null @@ -1,40 +0,0 @@ -const config = require('./config') - -module.exports = { - errorForbidden: function (res) { - const { req } = res - if (req.user) { - responseError(res, '403', 'Forbidden', 'oh no.') - } else { - if (!req.session) req.session = {} - req.session.returnTo = req.originalUrl || config.serverUrl + '/' - req.flash('error', 'You are not allowed to access this page. Maybe try logging in?') - res.redirect(config.serverURL + '/') - } - }, - errorNotFound: function (res) { - responseError(res, '404', 'Not Found', 'oops.') - }, - errorBadRequest: function (res) { - responseError(res, '400', 'Bad Request', 'something not right.') - }, - errorTooLong: function (res) { - responseError(res, '413', 'Payload Too Large', 'Shorten your note!') - }, - errorInternalError: function (res) { - responseError(res, '500', 'Internal Error', 'wtf.') - }, - errorServiceUnavailable: function (res) { - res.status(503).send('I\'m busy right now, try again later.') - } -} - -function responseError (res, code, detail, msg) { - res.status(code).render('error.ejs', { - title: code + ' ' + detail + ' ' + msg, - code: code, - detail: detail, - msg: msg, - opengraph: [] - }) -} diff --git a/lib/errors.ts b/lib/errors.ts new file mode 100644 index 000000000..d5d3ea00c --- /dev/null +++ b/lib/errors.ts @@ -0,0 +1,54 @@ +const config = require('./config') + +function responseError (res, code: number, detail: string, msg: string): void { + res.status(code).render('error.ejs', { + title: code + ' ' + detail + ' ' + msg, + code: code, + detail: detail, + msg: msg, + opengraph: [] + }) +} + +function errorForbidden (res): void { + const { req } = res + if (req.user) { + responseError(res, 403, 'Forbidden', 'oh no.') + } else { + if (!req.session) req.session = {} + req.session.returnTo = req.originalUrl || config.serverUrl + '/' + req.flash('error', 'You are not allowed to access this page. Maybe try logging in?') + res.redirect(config.serverURL + '/') + } +} + +function errorNotFound (res): void { + responseError(res, 404, 'Not Found', 'oops.') +} + +function errorBadRequest (res): void { + responseError(res, 400, 'Bad Request', 'something not right.') +} + +function errorTooLong (res): void { + responseError(res, 413, 'Payload Too Large', 'Shorten your note!') +} + +function errorInternalError (res): void { + responseError(res, 500, 'Internal Error', 'wtf.') +} + +function errorServiceUnavailable (res): void { + responseError(res, 503, 'Service Unvavilable', 'I\'m busy right now, try again later.') +} + +const errors = { + errorForbidden: errorForbidden, + errorNotFound: errorNotFound, + errorBadRequest: errorBadRequest, + errorTooLong: errorTooLong, + errorInternalError: errorInternalError, + errorServiceUnavailable: errorServiceUnavailable +} + +export { errors }