diff --git a/app/errors/handlers.py b/app/errors/handlers.py index 8c2e4fcf..bf2fef09 100644 --- a/app/errors/handlers.py +++ b/app/errors/handlers.py @@ -1,5 +1,12 @@ -from flask import render_template +from flask import jsonify, render_template, request, Response +from werkzeug.exceptions import HTTPException -def generic_error_handler(e): - return render_template('errors/error.html.j2', error=e), e.code +def generic_error_handler(error: HTTPException): + accent_json: bool = request.accept_mimetypes.accept_json + accept_html: bool = request.accept_mimetypes.accept_html + if accent_json and not accept_html: + response: Response = jsonify(str(error)) + response.status_code = error.code + return response + return render_template('errors/error.html.j2', error=error), error.code diff --git a/app/templates/errors/error.html.j2 b/app/templates/errors/error.html.j2 index ef19de5f..8db723d2 100644 --- a/app/templates/errors/error.html.j2 +++ b/app/templates/errors/error.html.j2 @@ -4,7 +4,7 @@ {% block page_content %}
{{ error.description }}