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'] |
Matteo Scandolo | df2600b | 2017-07-05 17:01:29 -0700 | [diff] [blame^] | 24 | parser = TOSCA_Parser(request.get_data()) |
| 25 | parser.execute() |
| 26 | response_text = "Created models: %s" % str(parser.ordered_models_name) |
Matteo Scandolo | 485b713 | 2017-06-30 11:46:47 -0700 | [diff] [blame] | 27 | return make_response(response_text, 201) |
Matteo Scandolo | 9ce1825 | 2017-06-22 10:48:25 -0700 | [diff] [blame] | 28 | except Exception, e: |
| 29 | return make_response(e.message, 400) |
| 30 | |
| 31 | def __init__(self): |
| 32 | self.app.run(host='localhost', port='9200') |