summaryrefslogtreecommitdiff
path: root/django/middleware
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2005-12-05 15:25:55 +0000
committerAdrian Holovaty <adrian@holovaty.com>2005-12-05 15:25:55 +0000
commit79be9b2e7d5e369a6bdb6f807d87529434731fb9 (patch)
tree3a6c732d42f38c6627480b92403883518a0440a5 /django/middleware
parent3cd7755ec6b421c8ac4ef8903be9781ba015b3ab (diff)
Changed CommonMiddleware so it doesn't assume HTTP_HOST is set.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@1548 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/middleware')
-rw-r--r--django/middleware/common.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/django/middleware/common.py b/django/middleware/common.py
index 1e437170e3..7ab2841118 100644
--- a/django/middleware/common.py
+++ b/django/middleware/common.py
@@ -30,9 +30,9 @@ class CommonMiddleware:
return httpwrappers.HttpResponseForbidden('<h1>Forbidden</h1>')
# Check for a redirect based on settings.APPEND_SLASH and settings.PREPEND_WWW
- old_url = [request.META['HTTP_HOST'], request.path]
+ old_url = [request.META.get('HTTP_HOST', ''), request.path]
new_url = old_url[:]
- if settings.PREPEND_WWW and not old_url[0].startswith('www.'):
+ if settings.PREPEND_WWW and old_url[0] and not old_url[0].startswith('www.'):
new_url[0] = 'www.' + old_url[0]
# Append a slash if append_slash is set and the URL doesn't have a
# trailing slash or a file extension.
@@ -40,7 +40,10 @@ class CommonMiddleware:
new_url[1] = new_url[1] + '/'
if new_url != old_url:
# Redirect
- newurl = "%s://%s%s" % (os.environ.get('HTTPS') == 'on' and 'https' or 'http', new_url[0], new_url[1])
+ if new_url[0]:
+ newurl = "%s://%s%s" % (os.environ.get('HTTPS') == 'on' and 'https' or 'http', new_url[0], new_url[1])
+ else:
+ newurl = new_url[1]
if request.GET:
newurl += '?' + request.GET.urlencode()
return httpwrappers.HttpResponseRedirect(newurl)