54 lines
1.3 KiB
Python
54 lines
1.3 KiB
Python
|
#!/usr/bin/python2.7
|
||
|
# coding: utf-8
|
||
|
# Author : Alexandre Jauneau
|
||
|
|
||
|
import os
|
||
|
import sys
|
||
|
|
||
|
import requests
|
||
|
from flask import Flask, jsonify, request
|
||
|
|
||
|
app = Flask(__name__)
|
||
|
|
||
|
try:
|
||
|
api_backend_url = os.environ.get('API_BACKEND_URL')
|
||
|
except:
|
||
|
print("L'Adresse de l'API n'est pas défini. Elle doit être définie dans une variable d'environnement nommé 'API_BACKEND_URL'")
|
||
|
|
||
|
|
||
|
try:
|
||
|
api_backend_port = os.environ.get('API_BACKEND_PORT')
|
||
|
except:
|
||
|
print("Le port de l'API n'est pas défini. Il doit être défini dans une variable d'environnement nommé 'API_BACKEND_PORT'")
|
||
|
|
||
|
if api_backend_url and api_backend_port:
|
||
|
api_backend = 'http://{}:{}'.format(api_backend_url, api_backend_port)
|
||
|
|
||
|
|
||
|
@app.route('/')
|
||
|
def index():
|
||
|
"""
|
||
|
Fait un call à l'API backend et renvoit le resultat au format JSON
|
||
|
"""
|
||
|
response = {}
|
||
|
api_call = requests.get(api_backend)
|
||
|
if api_call.status_code != 200:
|
||
|
response['error_message'] = 'GET / on backend API {}'.format(
|
||
|
api_call.status_code)
|
||
|
else:
|
||
|
response = api_call.json()
|
||
|
return jsonify(response)
|
||
|
|
||
|
|
||
|
@app.route('/traceback')
|
||
|
def traceback():
|
||
|
"""
|
||
|
Termine l'application avec un code erreur 1
|
||
|
"""
|
||
|
os._exit(1)
|
||
|
return
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
app.run(debug=True, host='0.0.0.0', port=8000)
|