Django

Code

Changeset 6212

Show
Ignore:
Timestamp:
09/14/07 15:34:29 (10 months ago)
Author:
jacob
Message:

Fixed #2970: made HttpResponse headers case-insensitive. Thanks to SmileyChris? for the original patch and PhiR for the final one.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/http/__init__.py

    r6211 r6212  
    247247            self._container = [content] 
    248248            self._is_string = True 
    249         self.headers = {'Content-Type': content_type} 
     249        self.headers = {'content-type': content_type} 
    250250        self.cookies = SimpleCookie() 
    251251        if status: 
     
    259259 
    260260    def __setitem__(self, header, value): 
    261         self.headers[header] = value 
     261        self.headers[header.lower()] = value 
    262262 
    263263    def __delitem__(self, header): 
    264264        try: 
    265             del self.headers[header
     265            del self.headers[header.lower()
    266266        except KeyError: 
    267267            pass 
    268268 
    269269    def __getitem__(self, header): 
    270         return self.headers[header
     270        return self.headers[header.lower()
    271271 
    272272    def has_header(self, header): 
    273273        "Case-insensitive check for a header" 
    274         header = header.lower() 
    275         for key in self.headers.keys(): 
    276             if key.lower() == header: 
    277                 return True 
    278         return False 
     274        return self.headers.has_key(header.lower()) 
    279275 
    280276    def set_cookie(self, key, value='', max_age=None, expires=None, path='/', domain=None, secure=None):