Skip to content
Snippets Groups Projects
Commit acccb51e authored by carignani's avatar carignani
Browse files

fixed proxy URL issue and improved error messages

parent 15a4f039
No related branches found
No related tags found
No related merge requests found
...@@ -13,8 +13,37 @@ import config ...@@ -13,8 +13,37 @@ import config
import tosca2doc import tosca2doc
import doc2tosca import doc2tosca
app = Flask(__name__) class ReverseProxied(object):
def __init__(self, app, script_name=None, scheme=None, server=None):
self.app = app
self.script_name = script_name
self.scheme = scheme
self.server = server
print("Reverse Proxy set up")
def __call__(self, environ, start_response):
print("ReverseProxy called")
script_name = environ.get('HTTP_X_SCRIPT_NAME', '') or self.script_name
if script_name:
environ['SCRIPT_NAME'] = script_name
path_info = environ['PATH_INFO']
if path_info.startswith(script_name):
environ['PATH_INFO'] = path_info[len(script_name):]
scheme = environ.get('HTTP_X_SCHEME', '') or self.scheme
if scheme:
environ['wsgi.url_scheme'] = scheme
server = environ.get('HTTP_X_FORWARDED_HOST', '') or self.server
print('HTTP_X_FORWARDED_SERVER ' + environ.get('HTTP_X_FORWARDED_SERVER'))
print('HTTP_X_FORWARDED_FOR ' + environ.get('HTTP_X_FORWARDED_FOR'))
print('HTTP_X_FORWARDED_HOST ' + environ.get('HTTP_X_FORWARDED_HOST'))
if server:
environ['HTTP_HOST'] = server
return self.app(environ, start_response)
app = Flask(__name__)
app.wsgi_app = ReverseProxied(app.wsgi_app, script_name='/tosca-ie')
UPLOAD_FOLDER = '/tmp/upload' UPLOAD_FOLDER = '/tmp/upload'
...@@ -59,8 +88,8 @@ def tosca2doc_info(): ...@@ -59,8 +88,8 @@ def tosca2doc_info():
def mk_tosca2doc(): def mk_tosca2doc():
if 'file' not in request.files: if 'file' not in request.files:
flash('No file part') flash('Error: No file uploaded.')
return redirect(request.url) return redirect("/tosca-ie")
ufiles=request.files.getlist("file") ufiles=request.files.getlist("file")
...@@ -75,15 +104,15 @@ def mk_tosca2doc(): ...@@ -75,15 +104,15 @@ def mk_tosca2doc():
# print uploaded_file.read() # print uploaded_file.read()
# print "-------------------" # print "-------------------"
if not found: if not found:
flash('No file part') flash('Error: some TOSCA module missing. Make sure to upload definitions for NSD, VNFD, PNFD.')
print('No file part') print('Error: TOSCA module missing.')
return redirect("/") return redirect("/tosca-ie")
for file in ufiles: for file in ufiles:
if file.filename == '': if file.filename == '':
print('No selected file') print('Error: No selected file')
flash('No selected file') flash('Error: No file uploaded or wrong name.')
return redirect("/") return redirect("/tosca-ie")
tmp_dir = tempfile.mkdtemp() tmp_dir = tempfile.mkdtemp()
g.tmp_dir = tmp_dir g.tmp_dir = tmp_dir
...@@ -164,4 +193,4 @@ def mk_doc2tosca(): ...@@ -164,4 +193,4 @@ def mk_doc2tosca():
return send_file(zip_path, as_attachment=True) return send_file(zip_path, as_attachment=True)
if __name__ == '__main__': if __name__ == '__main__':
app.run(debug=True,host='0.0.0.0') app.run(debug=True,host='0.0.0.0')
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment