from flask import render_template, request, jsonify from . import bp @bp.app_errorhandler(403) def forbidden(e): if (request.accept_mimetypes.accept_json and not request.accept_mimetypes.accept_html): response = jsonify({'error': 'forbidden'}) response.status_code = 403 return response return render_template('errors/403.html.j2', title='Forbidden'), 403 @bp.app_errorhandler(404) def not_found(e): if (request.accept_mimetypes.accept_json and not request.accept_mimetypes.accept_html): response = jsonify({'error': 'not found'}) response.status_code = 404 return response return render_template('errors/404.html.j2', title='Not Found'), 404 @bp.app_errorhandler(413) def payload_too_large(e): if (request.accept_mimetypes.accept_json and not request.accept_mimetypes.accept_html): response = jsonify({'error': 'payload too large'}) response.status_code = 413 return response return render_template('errors/413.html.j2', title='Payload Too Large'), 413 @bp.app_errorhandler(500) def internal_server_error(e): if (request.accept_mimetypes.accept_json and not request.accept_mimetypes.accept_html): response = jsonify({'error': 'internal server error'}) response.status_code = 500 return response return render_template('errors/500.html.j2', title='Internal Server Error'), 500 @bp.app_errorhandler(503) def service_unavailable_error(e): if (request.accept_mimetypes.accept_json and not request.accept_mimetypes.accept_html): response = jsonify({'error': 'service unavailable'}) response.status_code = 503 return response return render_template('errors/503.html.j2', title='Service Unavailable'), 503