import requests
from pathlib import Path
-from flask import Flask, escape, request, Response
+from flask import Flask, escape, request, Response, jsonify
from jsonschema import validate
-from var_declaration import policy_instances, policy_types, policy_status, policy_fingerprint, forced_settings
+from var_declaration import policy_instances, policy_types, policy_status, policy_fingerprint, forced_settings, hosts_set
from maincommon import *
+from time import sleep
check_apipath()
-app = connexion.App(__name__, specification_dir=apipath)
+app = connexion.FlaskApp(__name__, specification_dir=apipath)
#Check alive function
@app.route('/', methods=['GET'])
return Response("OK", 200, mimetype='text/plain')
+@app.route('/ip', methods=['GET'])
+def get_ip():
+ if request.environ.get('HTTP_X_FORWARDED_FOR') is None:
+ return jsonify({'ip': request.environ['REMOTE_ADDR']}), 200
+ else:
+ return jsonify({'ip': request.environ['HTTP_X_FORWARDED_FOR']}), 200
+
#Return the current and all supported yamls for the this container
@app.route('/container_interfaces', methods=['GET'])
def container_interfaces():
p=Path(os.getcwd())
pp=p.parts
return Response(str(pp[len(pp)-1]),200, mimetype='text/plain')
+ elif (countername == "remote_hosts"):
+ hosts=",".join(hosts_set)
+ return str(hosts),200
else:
return Response("Counter name: "+countername+" not found.",404, mimetype='text/plain')
-port_number = 8085
+port_number = 2222
if len(sys.argv) >= 2:
if isinstance(sys.argv[1], int):
port_number = sys.argv[1]
app.add_api('openapi.yaml')
-app.run(port=port_number)
+app.run(port=port_number, host="127.0.0.1", threaded=False)
\ No newline at end of file