import requests from bson import json_util from flask import Flask from flask_cors import CORS from flask import request import json; app = Flask(__name__) CORS(app) ENTITY_IDENT_URL = 'http://entityident:5002/api/v1/resources/' EVENT_STORE_URL = 'http://eventstore:5001/api/keys/' @app.route('/api/v1/resources/car_events', methods=['GET']) def get_cars_events(): vin = request.args.get('vin') try: response = requests.get(EVENT_STORE_URL + 'DAF:' + vin + '/0/') cars = json.loads(response.text) except requests.exceptions.ConnectionError as e: print("Is the EVENT_STORE_URL running and reachable?") raise e return json_util.dumps({'cursor': cars}) @app.route('/api/v1/resources/traffic_light_events', methods=['GET']) def get_traffic_light_events(): id = request.args.get('id') try: response = requests.get(EVENT_STORE_URL + 'TL:' + id + '/0/') traffic_lights = json.loads(response.text) except requests.exceptions.ConnectionError as e: print("Is the EVENT_STORE_URL running and reachable?") raise e return json_util.dumps({'cursor': traffic_lights}) @app.route('/api/v1/resources/cars', methods=['GET']) def get_cars(): try: response = requests.get(ENTITY_IDENT_URL + 'cars') cars = response.json()['cursor'] except requests.exceptions.ConnectionError as e: print("Is the entity_ident_server running and reachable?") raise e return json_util.dumps({'cursor': cars}) @app.route('/api/v1/resources/traffic_lights', methods=['GET']) def get_traffic_lights(): try: response = requests.get(ENTITY_IDENT_URL + 'traffic_lights') traffic_lights = response.json()['cursor'] except requests.exceptions.ConnectionError as e: print("Is the entity_ident_server running and reachable?") raise e return json_util.dumps({'cursor': traffic_lights}) if __name__ == '__main__': app.run('0.0.0.0', 5004)