changeset 9:5b84a2c4f30c

Get rid of the custom Proxy, gunicorn does it for us, add Logging to file
author Benoît Allard <benoit.allard@greenbone.net>
date Mon, 29 Sep 2014 14:15:21 +0200
parents 2ce3676c9b2e
children 6594ff7c37b4
files farol/main.py farol/proxy.py
diffstat 2 files changed, 6 insertions(+), 40 deletions(-) [+]
line wrap: on
line diff
--- a/farol/main.py	Thu Sep 25 17:49:43 2014 +0200
+++ b/farol/main.py	Mon Sep 29 14:15:21 2014 +0200
@@ -37,7 +37,6 @@
 from .session import get_current, set_current, has_current, del_current, document_required
 from .vulnerability import vulnerability
 from .producttree import producttree
-from .proxy import ReverseProxied
 
 app = Flask(__name__, instance_relative_config=True)
 app.config.from_object('farol.config.Config')
@@ -47,7 +46,12 @@
 app.register_blueprint(vulnerability, url_prefix='/vulnerability')
 app.register_blueprint(producttree, url_prefix='/producttree')
 
-app.wsgi_app = ReverseProxied(app.wsgi_app)
+if not app.debug:
+    import logging
+    from logging import FileHandler
+    file_handler = FileHandler(os.path.join(app.instance_path, 'farol.log'))
+    file_handler.setLevel(logging.WARNING)
+    app.logger.addHandler(file_handler)
 
 @app.context_processor
 def cache_content():
--- a/farol/proxy.py	Thu Sep 25 17:49:43 2014 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-# Code from http://flask.pocoo.org/snippets/35/
-#
-# This snippet by Peter Hansen can be used freely for anything you like.
-# Consider it public domain.
-
-
-class ReverseProxied(object):
-    '''Wrap the application in this middleware and configure the
-    front-end server to add these headers, to let you quietly bind
-    this to a URL other than / and to an HTTP scheme that is
-    different than what is used locally.
-
-    In nginx:
-    location /myprefix {
-        proxy_pass http://192.168.0.1:5001;
-        proxy_set_header Host $host;
-        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-        proxy_set_header X-Scheme $scheme;
-        proxy_set_header X-Script-Name /myprefix;
-        }
-
-    :param app: the WSGI application
-    '''
-    def __init__(self, app):
-        self.app = app
-
-    def __call__(self, environ, start_response):
-        script_name = environ.get('HTTP_X_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', '')
-        if scheme:
-            environ['wsgi.url_scheme'] = scheme
-        return self.app(environ, start_response)

http://farol.wald.intevation.org