mirror of
https://github.com/YunoHost-Apps/ihatemoney_ynh.git
synced 2024-09-03 19:26:15 +02:00
Merge branch 'ynh-patched' of github.com:JocelynDelalande/ihatemoney into ynh-pathed-upstream
Waiting for pull requests to be included upstream.
This commit is contained in:
commit
4037139ac8
3 changed files with 39 additions and 4 deletions
|
@ -48,7 +48,12 @@ To deploy it, I'm using gunicorn and supervisord::
|
||||||
Don't forget to set the right permission for your files !
|
Don't forget to set the right permission for your files !
|
||||||
|
|
||||||
Also, create a `settings.py` file with the appropriate values if you need to
|
Also, create a `settings.py` file with the appropriate values if you need to
|
||||||
use a different database for instance.
|
use a different database for instance. You can also set `APPLICATION_ROOT` if
|
||||||
|
you want to prefix your URLs to serve ihatemonney in the *folder* of a domain,
|
||||||
|
e.g:
|
||||||
|
|
||||||
|
APPLICATION_ROOT='/budget'
|
||||||
|
|
||||||
|
|
||||||
How about the REST API?
|
How about the REST API?
|
||||||
=======================
|
=======================
|
||||||
|
|
|
@ -4,10 +4,11 @@ from raven.contrib.flask import Sentry
|
||||||
|
|
||||||
from web import main, db, mail
|
from web import main, db, mail
|
||||||
from api import api
|
from api import api
|
||||||
|
from utils import ReverseProxied
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
app.config.from_object("default_settings")
|
app.config.from_object("default_settings")
|
||||||
|
app.wsgi_app = ReverseProxied(app.wsgi_app, app.config['APPLICATION_ROOT'])
|
||||||
|
|
||||||
app.register_blueprint(main)
|
app.register_blueprint(main)
|
||||||
app.register_blueprint(api)
|
app.register_blueprint(api)
|
||||||
|
|
|
@ -32,3 +32,32 @@ class Redirect303(HTTPException, RoutingException):
|
||||||
|
|
||||||
def get_response(self, environ):
|
def get_response(self, environ):
|
||||||
return redirect(self.new_url, 303)
|
return redirect(self.new_url, 303)
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Inspired from http://flask.pocoo.org/snippets/35/
|
||||||
|
|
||||||
|
:param app: the WSGI application
|
||||||
|
'''
|
||||||
|
def __init__(self, app, prefix):
|
||||||
|
self.app = app
|
||||||
|
self.prefix = prefix
|
||||||
|
|
||||||
|
def __call__(self, environ, start_response):
|
||||||
|
script_name = self.prefix
|
||||||
|
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)
|
||||||
|
|
Loading…
Reference in a new issue