From c7de2b8fc2e3ad64e0a9e43921d4348e8dde029b Mon Sep 17 00:00:00 2001 From: Joshua Wise Date: Fri, 14 Jun 2019 14:33:49 -0400 Subject: [PATCH] Add heartbeat for haproxy; use global domain_root instead of auth_root. --- Dockerfile | 5 +++++ weather/__init__.py | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6394804 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ +FROM python:3.6-alpine +ADD . /code +WORKDIR /code +RUN pip install -r requirements.txt +CMD flask run -h $HOST diff --git a/weather/__init__.py b/weather/__init__.py index c71b053..256d5d7 100644 --- a/weather/__init__.py +++ b/weather/__init__.py @@ -9,7 +9,7 @@ from werkzeug.routing import FloatConverter app = Flask(__name__) -auth_root = os.environ['AUTH_ROOT'] +domain_root = os.environ['DOMAIN_ROOT'] ibm_root = os.environ['IBM_API_ROOT'] # For some reason, the standard float converter rejects negative numbers @@ -31,11 +31,15 @@ class HTTPPaymentRequired(HTTPException): super().__init__(description, response) +@app.route('/heartbeat') +def heartbeat(): + return jsonify({'alive': True}) + @app.route('/api/v1/geocode///') def geocode(latitude, longitude): if not request.args.get('access_token'): abort(401) - user_req = requests.get(f"{auth_root}/api/v1/me", + user_req = requests.get(f"http://auth.{domain_root}/api/v1/me", headers={'Authorization': f"Bearer {request.args['access_token']}"}) user_req.raise_for_status() if not user_req.json()['is_subscribed']: