etwist/server.py
branchtls-sprint
changeset 1542 2965fcfaeca1
parent 1520 b097057e629d
child 1543 dca9817bb337
--- a/etwist/server.py	Tue Apr 28 19:14:37 2009 +0200
+++ b/etwist/server.py	Wed Apr 29 10:11:53 2009 +0200
@@ -155,6 +155,14 @@
         else:
             return threads.deferToThread(self.render_request, request)
 
+    def _host_prefixed_base_url(self, base_url):
+        scheme, netloc, url, query, fragment = urlsplit(baseurl)
+        if '.' in netloc:
+            netloc = '.'.join(host.split('.')[:1] + netloc.split('.')[1:])
+        baseurl = urlunsplit((scheme, netloc, url, query, fragment))
+        self.warning('base_url is %s for this request', baseurl)
+        return base_url
+
     def render_request(self, request):
         origpath = request.path
         host = request.host
@@ -169,11 +177,7 @@
             https = False
             baseurl = self.base_url
         if self.config['use-request-subdomain']:
-            scheme, netloc, url, query, fragment = urlsplit(baseurl)
-            if '.' in netloc:
-                netloc = '.'.join(host.split('.')[:1] + netloc.split('.')[1:])
-            baseurl = urlunsplit((scheme, netloc, url, query, fragment))
-            self.warning('base_url is %s for this request', baseurl)
+            base_url = self._host_prefixed_base_url(base_url)
         req = CubicWebTwistedRequestAdapter(request, self.appli.vreg, https, baseurl)
         if req.authmode == 'http':
             # activate realm-based auth