from .parser import parse from flask import Flask, request, make_response, jsonify from flask_cors import CORS app = Flask(__name__) CORS(app) # side effects, always nice @app.route("/check_property", methods=["POST"]) def check_property(): data = request.get_json(); # parse body prop = data.get("property") try: phi = parse(prop) except Exception as e: res = make_response(jsonify("parse error: " + str(e))) res.headers['Access-Control-Allow-Origin'] = '*' res.content_type = "application/json" return res traces = data.get("traces") processed_traces = {} for trace_name, trace in traces.items(): processed_traces[trace_name] = [(simtime, value) for [simtime, value] in trace] try: result = phi(processed_traces, time=None, quantitative=False) except Exception as e: res = make_response(jsonify("eval error: " + str(e))) res.headers['Access-Control-Allow-Origin'] = '*' res.content_type = "application/json" return res res = make_response(jsonify(result)) res.headers['Access-Control-Allow-Origin'] = '*' res.content_type = "application/json" return res def run_server(): app.run(host="127.0.0.1", port=15478, threaded=True)