mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2024-12-26 11:24:18 +00:00
53 lines
1.8 KiB
Python
53 lines
1.8 KiB
Python
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
|