# HG changeset patch # User BenoƮt Allard # Date 1411992921 -7200 # Node ID 5b84a2c4f30c98c33da4c005b82c0d5b6511ed79 # Parent 2ce3676c9b2e5618f8c7cb194a3309c0d6eaa755 Get rid of the custom Proxy, gunicorn does it for us, add Logging to file diff -r 2ce3676c9b2e -r 5b84a2c4f30c farol/main.py --- 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(): diff -r 2ce3676c9b2e -r 5b84a2c4f30c farol/proxy.py --- 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)