From d4cd4003c3d037dc80d59671faa0c34166d7f5f5 Mon Sep 17 00:00:00 2001 From: Patrick Smith Date: Mon, 15 Oct 2018 15:40:07 -0400 Subject: [PATCH] Catch flask's NotFound error and return 404 --- atst/routes/errors.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/atst/routes/errors.py b/atst/routes/errors.py index 9d70578c..bf831051 100644 --- a/atst/routes/errors.py +++ b/atst/routes/errors.py @@ -1,26 +1,32 @@ from flask import render_template +import werkzeug.exceptions as werkzeug_exceptions import atst.domain.exceptions as exceptions def make_error_pages(app): + def log_error(e): + error_message = e.message if hasattr(e, "message") else str(e) + app.logger.error(error_message) + + @app.errorhandler(werkzeug_exceptions.NotFound) @app.errorhandler(exceptions.NotFoundError) @app.errorhandler(exceptions.UnauthorizedError) # pylint: disable=unused-variable def not_found(e): - app.logger.error(e.message) + log_error(e) return render_template("error.html", message="Not Found"), 404 @app.errorhandler(exceptions.UnauthenticatedError) # pylint: disable=unused-variable def unauthorized(e): - app.logger.error(e.message) + log_error(e) return render_template("error.html", message="Log in Failed"), 401 @app.errorhandler(Exception) # pylint: disable=unused-variable def exception(e): - app.logger.error(e.message) + log_error(e) return ( render_template("error.html", message="An Unexpected Error Occurred"), 500,