[z3-checkins] r44709 - z3/deliverance/DeliveranceVHoster/trunk/dvhoster
ltucker at codespeak.net
ltucker at codespeak.net
Tue Jul 3 21:56:33 CEST 2007
Author: ltucker
Date: Tue Jul 3 21:56:32 2007
New Revision: 44709
Modified:
z3/deliverance/DeliveranceVHoster/trunk/dvhoster/dispatcher.py
z3/deliverance/DeliveranceVHoster/trunk/dvhoster/scrubber.py
Log:
consolidate some logic
Modified: z3/deliverance/DeliveranceVHoster/trunk/dvhoster/dispatcher.py
==============================================================================
--- z3/deliverance/DeliveranceVHoster/trunk/dvhoster/dispatcher.py (original)
+++ z3/deliverance/DeliveranceVHoster/trunk/dvhoster/dispatcher.py Tue Jul 3 21:56:32 2007
@@ -15,6 +15,7 @@
from dvhoster.util import load_func
from dvhoster.logcreate import make_logger
from dvhoster import uritemplate
+from dvhoster.scrubber import scrub_environ_host
import transcluder
from transcluder.middleware import TranscluderMiddleware
@@ -136,24 +137,13 @@
for r in domain_info.remote_uris])))
return exc(environ, start_response)
- scheme = environ['wsgi.url_scheme']
+ scrub_environ_host(environ)
host_parts = environ['HTTP_HOST'].split(':',1)
- host = host_parts[0]
- if len(host_parts) > 1:
- port = host_parts[1]
- else:
- if scheme == 'http':
- port = '80'
- elif scheme == 'https':
- port = '443'
- else:
- port = ''
-
vars = {
- 'host': host,
+ 'host': host_parts[0],
'domain': environ['HTTP_HOST'].split(':', 1)[0],
- 'scheme': scheme,
- 'port': port,
+ 'scheme': environ['wsgi.url_scheme'],
+ 'port': host_parts[1],
'path': environ['SCRIPT_NAME'] + environ['PATH_INFO'],
'script_name': environ['SCRIPT_NAME'],
'path_info': environ['PATH_INFO'],
Modified: z3/deliverance/DeliveranceVHoster/trunk/dvhoster/scrubber.py
==============================================================================
--- z3/deliverance/DeliveranceVHoster/trunk/dvhoster/scrubber.py (original)
+++ z3/deliverance/DeliveranceVHoster/trunk/dvhoster/scrubber.py Tue Jul 3 21:56:32 2007
@@ -34,15 +34,8 @@
Remove any request headers that overlap with internal request
headers (as configured with ``clean_environ_headers_regex``).
"""
- host = environ.get('HTTP_HOST')
- if host is None:
- host = environ['SERVER_NAME'] + ':' + environ['SERVER_PORT']
- elif ':' not in host:
- if environ['wsgi.url_scheme'] == 'https':
- host += ':443'
- else:
- host += ':80'
- environ['HTTP_HOST'] = host
+ scrub_environ_host(environ)
+
if not self.clean_environ_headers_regex:
return
remote_addr = environ.get('REMOTE_ADDR')
@@ -53,3 +46,15 @@
if self.clean_environ_headers_regex.search(key):
# @@: Should log this
del environ[key]
+
+
+def scrub_environ_host(environ):
+ host = environ.get('HTTP_HOST')
+ if host is None:
+ host = environ['SERVER_NAME'] + ':' + environ['SERVER_PORT']
+ elif ':' not in host:
+ if environ['wsgi.url_scheme'] == 'https':
+ host += ':443'
+ else:
+ host += ':80'
+ environ['HTTP_HOST'] = host
More information about the z3-checkins
mailing list