Update the generic error handling again. Added type hints

This commit is contained in:
Patrick Jentsch 2023-03-13 08:36:51 +01:00
parent 5c2225c43e
commit ca53974e50
2 changed files with 6 additions and 5 deletions

View File

@ -1,6 +1,6 @@
from werkzeug.exceptions import HTTPException from werkzeug.exceptions import HTTPException
from .handlers import generic_error_handler from .handlers import generic
def init_app(app): def init_app(app):
app.register_error_handler(HTTPException, generic_error_handler) app.register_error_handler(HTTPException, generic)

View File

@ -1,12 +1,13 @@
from flask import jsonify, render_template, request, Response from flask import jsonify, render_template, request, Response
from werkzeug.exceptions import HTTPException from werkzeug.exceptions import HTTPException
from typing import Tuple, Union
def generic_error_handler(error: HTTPException): def generic(error: HTTPException) -> Tuple[Union[str, Response], int]:
''' Generic error handler '''
accent_json: bool = request.accept_mimetypes.accept_json accent_json: bool = request.accept_mimetypes.accept_json
accept_html: bool = request.accept_mimetypes.accept_html accept_html: bool = request.accept_mimetypes.accept_html
if accent_json and not accept_html: if accent_json and not accept_html:
response: Response = jsonify(str(error)) response: Response = jsonify(str(error))
response.status_code = error.code return response, error.code
return response
return render_template('errors/error.html.j2', error=error), error.code return render_template('errors/error.html.j2', error=error), error.code