blob: 4896a719aac726cd6a9fc97da93ba1cb3206113f [file] [log] [blame]
Matteo Scandolo9ce18252017-06-22 10:48:25 -07001from flask import Flask, make_response, request
2from tosca.parser import TOSCA_Parser
3
4BANNER = """
5 _ ______ _____ __________ _____ _________
6 | |/ / __ \/ ___/ /_ __/ __ \/ ___// ____/ |
7 | / / / /\__ \ / / / / / /\__ \/ / / /| |
8 / / /_/ /___/ / / / / /_/ /___/ / /___/ ___ |
9/_/|_\____//____/ /_/ \____//____/\____/_/ |_|
10"""
11
12class 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 Scandolodf2600b2017-07-05 17:01:29 -070024 parser = TOSCA_Parser(request.get_data())
25 parser.execute()
26 response_text = "Created models: %s" % str(parser.ordered_models_name)
Matteo Scandolo485b7132017-06-30 11:46:47 -070027 return make_response(response_text, 201)
Matteo Scandolo9ce18252017-06-22 10:48:25 -070028 except Exception, e:
29 return make_response(e.message, 400)
30
31 def __init__(self):
32 self.app.run(host='localhost', port='9200')