Fix for Flask's ticket 126. A proper environment is now built to use

with `test_request_context()`.

Signed-off-by: Armin Ronacher <armin.ronacher@active-4.com>
This commit is contained in:
Pedro Algarvio 2010-10-21 20:31:13 +01:00 committed by Armin Ronacher
parent 5ecf01dd4e
commit 88883aa6db
2 changed files with 26 additions and 0 deletions

View file

@ -863,6 +863,15 @@ class Flask(_PackageBoundObject):
function accepts the same arguments).
"""
from werkzeug import create_environ
environ_overrides = kwargs.setdefault('environ_overrides', {})
if self.config.get('SERVER_NAME'):
server_name = self.config.get('SERVER_NAME')
if ':' not in server_name:
server_name += ':80'
http_host, http_port = server_name.split(':')
environ_overrides.setdefault('SERVER_NAME', server_name)
environ_overrides.setdefault('HTTP_HOST', server_name)
environ_overrides.setdefault('SERVER_PORT', http_port)
return self.request_context(create_environ(*args, **kwargs))
def wsgi_app(self, environ, start_response):