diff options
Diffstat (limited to 'moon_bouchon/moon_bouchon/server.py')
-rw-r--r-- | moon_bouchon/moon_bouchon/server.py | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/moon_bouchon/moon_bouchon/server.py b/moon_bouchon/moon_bouchon/server.py deleted file mode 100644 index 29e9101e..00000000 --- a/moon_bouchon/moon_bouchon/server.py +++ /dev/null @@ -1,138 +0,0 @@ -# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors -# This software is distributed under the terms and conditions of the 'Apache-2.0' -# license which can be found in the file 'LICENSE' in this package distribution -# or at 'http://www.apache.org/licenses/LICENSE-2.0'. - -import sys -import flask -from flask import Flask -from flask import request -import json -import logging -import random - -logger = logging.getLogger(__name__) -app = Flask(__name__) - - -@app.route("/interface/authz/grant/<string:project_id>/<string:subject_name>/" - "<string:object_name>/<string:action_name>", - methods=["GET"]) -def interface_grant(project_id, subject_name, object_name, action_name): - logger.info("Requesting interface authz on {} {} {} {}".format( - project_id, subject_name, object_name, action_name)) - return json.dumps({ - "result": True, - "context": { - "project_id": project_id, - "subject_name": subject_name, - "object_name": object_name, - "action_name": action_name - } - }) - - -@app.route("/interface/authz/deny/<string:project_id>/<string:subject_name>/" - "<string:object_name>/<string:action_name>", - methods=["GET"]) -def interface_deny(project_id, subject_name, object_name, action_name): - logger.info("Requesting interface authz on {} {} {} {}".format( - project_id, subject_name, object_name, action_name)) - return json.dumps({ - "result": False, - "context": { - "project_id": project_id, - "subject_name": subject_name, - "object_name": object_name, - "action_name": action_name - } - }) - - -@app.route("/interface/authz/<string:project_id>/<string:subject_name>/" - "<string:object_name>/<string:action_name>", - methods=["GET"]) -def interface_authz(project_id, subject_name, object_name, action_name): - logger.info("Requesting interface authz on {} {} {} {}".format( - project_id, subject_name, object_name, action_name)) - return json.dumps({ - "result": random.choice((True, False)), - "context": { - "project_id": project_id, - "subject_name": subject_name, - "object_name": object_name, - "action_name": action_name - } - }) - - -def test_data(): - data = request.form - if not dict(request.form): - data = json.loads(request.data.decode("utf-8")) - try: - target = json.loads(data.get('target', {})) - except Exception: - raise Exception("Error reading target") - try: - credentials = json.loads(data.get('credentials', {})) - except Exception: - raise Exception("Error reading credentials") - try: - rule = data.get('rule', "") - except Exception: - raise Exception("Error reading rule") - - -@app.route("/wrapper/authz/grant", methods=["POST"]) -def wrapper_grant(): - logger.info("Requesting wrapper authz") - try: - test_data() - except Exception as e: - logger.exception(e) - return str(e), 400 - response = flask.make_response("True") - response.headers['content-type'] = 'application/octet-stream' - return response - - -@app.route("/wrapper/authz/deny", methods=["POST"]) -def wrapper_deny(): - logger.info("Requesting wrapper authz") - try: - test_data() - except Exception as e: - logger.exception(e) - return str(e), 400 - response = flask.make_response("False") - response.headers['content-type'] = 'application/octet-stream' - return response - - -@app.route("/wrapper/authz", methods=["POST"]) -def wrapper_authz(): - logger.info("Requesting wrapper authz") - try: - test_data() - except Exception as e: - logger.exception(e) - return str(e), 400 - response = flask.make_response(random.choice(("True", "False"))) - response.headers['content-type'] = 'application/octet-stream' - return response - - -def main(): - port = 31002 - if len(sys.argv) > 1: - try: - port = int(sys.argv[1]) - except ValueError: - logger.error("Argument for Port in command line is not an integer") - sys.exit(1) - app.run(host="0.0.0.0", port=port) - - -if __name__ == "__main__": - main() |