From 2a9e451876c69b56ef9c19970dc68b5105f6f28a Mon Sep 17 00:00:00 2001 From: James Allen Date: Mon, 21 Mar 2016 11:55:59 +0000 Subject: [PATCH] Refine error page to in all situations, and don't send sentry errors on not found errors --- .../Features/Errors/ErrorController.coffee | 3 +- services/web/app/coffee/router.coffee | 6 +-- services/web/app/views/general/500.jade | 37 +++++++++++-------- 3 files changed, 26 insertions(+), 20 deletions(-) diff --git a/services/web/app/coffee/Features/Errors/ErrorController.coffee b/services/web/app/coffee/Features/Errors/ErrorController.coffee index a0ce6c85c9..255c747bea 100644 --- a/services/web/app/coffee/Features/Errors/ErrorController.coffee +++ b/services/web/app/coffee/Features/Errors/ErrorController.coffee @@ -17,8 +17,9 @@ module.exports = ErrorController = logger.log err: error,url:req.url, method:req.method, user:req?.sesson?.user, "invalid csrf" res.sendStatus(403) return - logger.error err: error, url:req.url, method:req.method, user:req?.sesson?.user, "error passed to top level next middlewear" if error instanceof Errors.NotFoundError + logger.warn {err: error, url: req.url}, "not found error" ErrorController.notFound req, res else + logger.error err: error, url:req.url, method:req.method, user:req?.sesson?.user, "error passed to top level next middlewear" ErrorController.serverError req, res \ No newline at end of file diff --git a/services/web/app/coffee/router.coffee b/services/web/app/coffee/router.coffee index 305b3bd564..60f1d6b7c4 100644 --- a/services/web/app/coffee/router.coffee +++ b/services/web/app/coffee/router.coffee @@ -221,9 +221,9 @@ module.exports = class Router headers: req.headers }) - apiRouter.get '/oops-express', (req, res, next) -> next(new Error("Test error")) - apiRouter.get '/oops-internal', (req, res, next) -> throw new Error("Test error") - apiRouter.get '/oops-mongo', (req, res, next) -> + webRouter.get '/oops-express', (req, res, next) -> next(new Error("Test error")) + webRouter.get '/oops-internal', (req, res, next) -> throw new Error("Test error") + webRouter.get '/oops-mongo', (req, res, next) -> require("./models/Project").Project.findOne {}, () -> throw new Error("Test error") diff --git a/services/web/app/views/general/500.jade b/services/web/app/views/general/500.jade index 12983b923b..e045a7d457 100644 --- a/services/web/app/views/general/500.jade +++ b/services/web/app/views/general/500.jade @@ -1,16 +1,21 @@ -extends ../layout - -block content - .content - .container - .row - .col-md-8.col-md-offset-2.text-center - .page-header - h2 Oh dear, something went wrong. - p: img(src="/img/lion-sad-128.png", alt="Sad Lion") - p - | Something went wrong with your request, sorry. Our staff are probably looking into this, but it continues, please contact us at #{settings.adminEmail} - p - a(href="/") - i.fa.fa-arrow-circle-o-left - | #{translate("take_me_home")} +doctype html +html(itemscope, itemtype='http://schema.org/Product') + head + title Something went wrong + link(rel="icon", href="/favicon.ico") + link(rel='stylesheet', href='/stylesheets/style.css') + link(href="//netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css",rel="stylesheet") + body + .content + .container + .row + .col-md-8.col-md-offset-2.text-center + .page-header + h2 Oh dear, something went wrong. + p: img(src="/img/lion-sad-128.png", alt="Sad Lion") + p + | Something went wrong with your request, sorry. Our staff are probably looking into this, but if it continues, please contact us at #{settings.adminEmail} + p + a(href="/") + i.fa.fa-arrow-circle-o-left + | Take me home