From e4a8ba9900247459b328e8e86ddedc972894733b Mon Sep 17 00:00:00 2001 From: JustIceO7 Date: Wed, 29 Jan 2025 03:02:09 +0000 Subject: [PATCH] FEAT: Added errorhandling for status codes --- web_server/blueprints/__init__.py | 4 ++++ web_server/blueprints/errorhandlers.py | 14 ++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 web_server/blueprints/errorhandlers.py diff --git a/web_server/blueprints/__init__.py b/web_server/blueprints/__init__.py index 2508522..a494d87 100644 --- a/web_server/blueprints/__init__.py +++ b/web_server/blueprints/__init__.py @@ -2,6 +2,7 @@ from flask import Flask from flask_session import Session from flask_cors import CORS from blueprints.utils import logged_in_user +from blueprints.errorhandlers import register_error_handlers # from flask_wtf.csrf import CSRFProtect, generate_csrf from blueprints.authentication import auth_bp @@ -31,6 +32,9 @@ def create_app(): Session(app) app.before_request(logged_in_user) + # adds in error handlers + register_error_handlers(app) + # @app.route('/csrf-token') # def get_csrf_token(): # return jsonify({'csrf_token': generate_csrf()}), 200 diff --git a/web_server/blueprints/errorhandlers.py b/web_server/blueprints/errorhandlers.py new file mode 100644 index 0000000..63fc05d --- /dev/null +++ b/web_server/blueprints/errorhandlers.py @@ -0,0 +1,14 @@ +import logging +def register_error_handlers(app): + error_responses = { + 400: "Bad Request", + 403: "Forbidden", + 404: "Not Found", + 500: "Internal Server Error" + } + + for code, message in error_responses.items(): + @app.errorhandler(code) + def handle_error(error, message=message, code=code): + logging.error(f"Error {code}: {str(error)}") + return {"error": message}, code