2018-02-20 11:22:17 +00:00
|
|
|
from flask import current_app, jsonify, request
|
2016-04-15 11:04:35 +01:00
|
|
|
from notifications_python_client.errors import HTTPError
|
2016-01-11 14:54:23 +00:00
|
|
|
|
2018-02-20 11:22:17 +00:00
|
|
|
from app import status_api_client, version
|
|
|
|
|
from app.status import status
|
|
|
|
|
|
2016-03-03 16:50:06 +00:00
|
|
|
|
2016-03-03 16:41:21 +00:00
|
|
|
@status.route('/_status', methods=['GET'])
|
|
|
|
|
def show_status():
|
|
|
|
|
if request.args.get('elb', None):
|
|
|
|
|
return jsonify(status="ok"), 200
|
|
|
|
|
else:
|
2016-04-06 16:36:03 +01:00
|
|
|
try:
|
|
|
|
|
api_status = status_api_client.get_status()
|
|
|
|
|
except HTTPError as e:
|
2017-11-16 16:35:24 +00:00
|
|
|
current_app.logger.exception("API failed to respond")
|
2016-04-06 16:36:03 +01:00
|
|
|
return jsonify(status="error", message=str(e.message)), 500
|
2016-03-03 16:41:21 +00:00
|
|
|
return jsonify(
|
|
|
|
|
status="ok",
|
2016-04-06 16:36:03 +01:00
|
|
|
api=api_status,
|
2016-03-03 16:41:21 +00:00
|
|
|
travis_commit=version.__travis_commit__,
|
|
|
|
|
travis_build_number=version.__travis_job_number__,
|
|
|
|
|
build_time=version.__time__), 200
|