mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-03 20:02:47 +00:00 
			
		
		
		
	Update the generic error handling again. Added type hints
This commit is contained in:
		@@ -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)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user