Fix two bugs in simulator & code cleaning
[sim/a1-interface.git] / near-rt-ric-simulator / src / OSC_2.1.0 / main.py
index 3bc8cbe..1bc6128 100644 (file)
@@ -22,15 +22,16 @@ import os
 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'])
@@ -38,6 +39,13 @@ def test():
 
     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():
@@ -193,14 +201,17 @@ def getCounter(countername):
     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