mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-25 09:51:42 -05:00
- brings boto S3 into new AWS folder - CSV processing utils method Rejigs the jobs rest endpoint - removes some now unused endpoints, Calls to the task with the job, job processing in task, delegating SMS calls to the sms task
52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
from flask import (
|
|
jsonify,
|
|
current_app
|
|
)
|
|
from sqlalchemy.exc import SQLAlchemyError, DataError
|
|
from sqlalchemy.orm.exc import NoResultFound
|
|
|
|
|
|
def register_errors(blueprint):
|
|
|
|
@blueprint.app_errorhandler(400)
|
|
def bad_request(e):
|
|
return jsonify(error=str(e.description)), 400
|
|
|
|
@blueprint.app_errorhandler(401)
|
|
def unauthorized(e):
|
|
error_message = "Unauthorized, authentication token must be provided"
|
|
return jsonify(error=error_message), 401, [('WWW-Authenticate', 'Bearer')]
|
|
|
|
@blueprint.app_errorhandler(403)
|
|
def forbidden(e):
|
|
error_message = "Forbidden, invalid authentication token provided"
|
|
return jsonify(error=error_message), 403
|
|
|
|
@blueprint.app_errorhandler(404)
|
|
def page_not_found(e):
|
|
return jsonify(error=e.description or "Not found"), 404
|
|
|
|
@blueprint.app_errorhandler(429)
|
|
def limit_exceeded(e):
|
|
return jsonify(error=str(e.description)), 429
|
|
|
|
@blueprint.app_errorhandler(500)
|
|
def internal_server_error(e):
|
|
current_app.logger.exception(e)
|
|
return jsonify(error="Internal error"), 500
|
|
|
|
@blueprint.app_errorhandler(NoResultFound)
|
|
def no_result_found(e):
|
|
current_app.logger.error(e)
|
|
return jsonify(error="No result found"), 404
|
|
|
|
@blueprint.app_errorhandler(DataError)
|
|
def no_result_found(e):
|
|
current_app.logger.error(e)
|
|
return jsonify(result="error", message="No result found"), 404
|
|
|
|
@blueprint.app_errorhandler(SQLAlchemyError)
|
|
def db_error(e):
|
|
current_app.logger.error(e)
|
|
return jsonify(error="Database error occurred"), 500
|