From b52f33d72eecbfcda8abce6b7b2474ded979b895 Mon Sep 17 00:00:00 2001 From: David Sevilla Martin <dsevilla192@icloud.com> Date: Sun, 14 May 2017 09:21:30 -0400 Subject: [PATCH] fix(web): add error handling and log error --- lib/Web.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/Web.js b/lib/Web.js index 17e48e8..70a7d76 100644 --- a/lib/Web.js +++ b/lib/Web.js @@ -23,9 +23,9 @@ app.get('/', (req, res) => { res.render('index', { bot, repos, status, statusColor }); }); -app.post(['/', '/gitlab'], (req, res) => { +app.post('/', (req, res) => { const event = req.headers['x-gitlab-event']; - const eventName = event.replace(` Hook`, '').replace(/ /g, '_').toLowerCase(); + const eventName = event && event.replace(` Hook`, '').replace(/ /g, '_').toLowerCase(); const data = req.body; if (!event || !data || !data.project) return res.status(403).send('Invalid data. Plz use Gitlab webhooks.'); @@ -62,6 +62,12 @@ app.post(['/', '/gitlab'], (req, res) => { }); }); +app.use((err, req, res, next) => { // eslint-disable-line no-unused-vars + if (err) Log.error(err); + res.status(500); + res.send(err.stack); +}); + app.listen(port, ip, () => { Log.info(`Express | Listening on ${ip || 'localhost'}:${port}`); });