Download Install Tutorial Docs FAQ Tools WikiLicense Team IRC Planet Involvement Shop Book

Changeset 1015

Show
Ignore:
Timestamp:
03/25/06 14:05:01
Author:
fumanchu
Message:

Extracted CaseInsensitiveDct? base class out of HeaderMap?.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/cherrypy/lib/httptools.py

    r972 r1015  
    370370 
    371371 
    372 class HeaderMap(dict): 
    373     """A dict subclass for HTTP request and response headers. 
    374      
    375     Each key is changed on entry to str(key).title(). This allows headers 
    376     to be case-insensitive and avoid duplicates. 
     372class CaseInsensitiveDict(dict): 
     373    """A case-insensitive dict subclass. 
     374     
     375    Each key is changed on entry to str(key).title(). 
    377376    """ 
    378377     
     
    386385        dict.__delitem__(self, str(key).title()) 
    387386     
    388     def __contains__(self, item): 
    389         return dict.__contains__(self, str(item).title()) 
     387    def __contains__(self, key): 
     388        return dict.__contains__(self, str(key).title()) 
    390389     
    391390    def get(self, key, default=None): 
     
    416415    def pop(self, key, default): 
    417416        return dict.pop(self, str(key).title(), default) 
     417 
     418 
     419class HeaderMap(CaseInsensitiveDict): 
     420    """A dict subclass for HTTP request and response headers. 
     421     
     422    Each key is changed on entry to str(key).title(). This allows headers 
     423    to be case-insensitive and avoid duplicates. 
     424    """ 
    418425     
    419426    def elements(self, key): 
    420427        """Return a list of HeaderElements for the given header (or None).""" 
     428        key = str(key).title() 
    421429        h = self.get(key) 
    422430        if h is None: 

Hosted by WebFaction

Log in as guest/cpguest to create tickets