From 3da4c0ab9292e8e3378b7314174f0bbcc4e692d1 Mon Sep 17 00:00:00 2001 From: Jacob Kaplan-Moss Date: Fri, 14 Sep 2007 20:34:29 +0000 Subject: [PATCH] Fixed #2970: made HttpResponse headers case-insensitive. Thanks to SmileyChris for the original patch and PhiR for the final one. git-svn-id: http://code.djangoproject.com/svn/django/trunk@6212 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/http/__init__.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/django/http/__init__.py b/django/http/__init__.py index 102094b95dd..1bb1621d77e 100644 --- a/django/http/__init__.py +++ b/django/http/__init__.py @@ -246,7 +246,7 @@ class HttpResponse(object): else: self._container = [content] self._is_string = True - self.headers = {'Content-Type': content_type} + self.headers = {'content-type': content_type} self.cookies = SimpleCookie() if status: self.status_code = status @@ -258,24 +258,20 @@ class HttpResponse(object): + '\n\n' + self.content def __setitem__(self, header, value): - self.headers[header] = value + self.headers[header.lower()] = value def __delitem__(self, header): try: - del self.headers[header] + del self.headers[header.lower()] except KeyError: pass def __getitem__(self, header): - return self.headers[header] + return self.headers[header.lower()] def has_header(self, header): "Case-insensitive check for a header" - header = header.lower() - for key in self.headers.keys(): - if key.lower() == header: - return True - return False + return self.headers.has_key(header.lower()) def set_cookie(self, key, value='', max_age=None, expires=None, path='/', domain=None, secure=None): self.cookies[key] = value