[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