Index: Lib/wsgiref/headers.py =================================================================== --- Lib/wsgiref/headers.py (revision 86725) +++ Lib/wsgiref/headers.py (working copy) @@ -24,12 +24,11 @@ else: return param - class Headers: - """Manage a collection of HTTP response headers""" - def __init__(self,headers): + def __init__(self, headers=None): + headers = headers if headers is not None else [] if type(headers) is not list: raise TypeError("Headers must be a list of name/value tuples") self._headers = headers @@ -55,7 +54,7 @@ self._headers.append( (self._convert_string_type(name), self._convert_string_type(val))) - def __delitem__(self,name): + def __delitem__(self, name): """Delete all occurrences of a header, if present. Does *not* raise an exception if the header is missing. @@ -63,7 +62,7 @@ name = self._convert_string_type(name.lower()) self._headers[:] = [kv for kv in self._headers if kv[0].lower() != name] - def __getitem__(self,name): + def __getitem__(self, name): """Get the first header value for 'name' Return None if the header is missing instead of raising an exception. @@ -78,7 +77,6 @@ """Return true if the message contains the header.""" return self.get(name) is not None - def get_all(self, name): """Return a list of all the values for the named field. @@ -88,18 +86,16 @@ If no fields exist with the given name, returns an empty list. """ name = self._convert_string_type(name.lower()) - return [kv[1] for kv in self._headers if kv[0].lower()==name] + return [v for k, v in self._headers if k.lower() == name] - - def get(self,name,default=None): + def get(self, name, default=None): """Get the first header value for 'name', or return 'default'""" name = self._convert_string_type(name.lower()) - for k,v in self._headers: + for k, v in self._headers: if k.lower()==name: return v return default - def keys(self): """Return a list of all the header field names. @@ -141,7 +137,7 @@ def __bytes__(self): return str(self).encode('iso-8859-1') - def setdefault(self,name,value): + def setdefault(self, name, value): """Return first matching header value for 'name', or 'value' If there is no header named 'name', add a new header with name 'name'