Matteo Scandolo | 9ce1825 | 2017-06-22 10:48:25 -0700 | [diff] [blame^] | 1 | from flask import Flask, make_response, request |
| 2 | from tosca.parser import TOSCA_Parser |
| 3 | |
| 4 | BANNER = """ |
| 5 | _ ______ _____ __________ _____ _________ |
| 6 | | |/ / __ \/ ___/ /_ __/ __ \/ ___// ____/ | |
| 7 | | / / / /\__ \ / / / / / /\__ \/ / / /| | |
| 8 | / / /_/ /___/ / / / / /_/ /___/ / /___/ ___ | |
| 9 | /_/|_\____//____/ /_/ \____//____/\____/_/ |_| |
| 10 | """ |
| 11 | |
| 12 | class TOSCA_WebServer: |
| 13 | app = Flask('TOSCA-Web-Server') |
| 14 | |
| 15 | @app.route("/", methods=['GET', 'POST']) |
| 16 | def home(): |
| 17 | if request.method == 'GET': |
| 18 | response = make_response(BANNER) |
| 19 | response.headers["content-type"] = "text/plain" |
| 20 | return response |
| 21 | else: |
| 22 | try: |
| 23 | # print request.headers['xos-password'] |
| 24 | parsed = TOSCA_Parser(request.get_data()) |
| 25 | return make_response(str(parsed.ordered_names), 201) |
| 26 | except Exception, e: |
| 27 | return make_response(e.message, 400) |
| 28 | |
| 29 | def __init__(self): |
| 30 | self.app.run(host='localhost', port='9200') |