Commit a9ecbdad authored by Antoine Pitrou's avatar Antoine Pitrou

Fix BytesWarning with -bb in wsgiref.headers.Headers.

parent 35b7e837
...@@ -426,15 +426,20 @@ class HeaderTests(TestCase): ...@@ -426,15 +426,20 @@ class HeaderTests(TestCase):
h[b"Foo"] = bytes(b"bar") h[b"Foo"] = bytes(b"bar")
self.assertEqual("bar", h.get("Foo")) self.assertEqual("bar", h.get("Foo"))
self.assertEqual("bar", h.get(b"Foo"))
h.setdefault(b"Bar", b"foo") h.setdefault(b"Bar", b"foo")
self.assertEqual("foo", h.get("Bar")) self.assertEqual("foo", h.get("Bar"))
self.assertEqual("foo", h.get(b"Bar"))
h.add_header(b'content-disposition', b'attachment', h.add_header(b'content-disposition', b'attachment',
filename=b'bud.gif') filename=b'bud.gif')
self.assertEqual('attachment; filename="bud.gif"', self.assertEqual('attachment; filename="bud.gif"',
h.get("content-disposition")) h.get("content-disposition"))
del h['content-disposition']
self.assert_(b'content-disposition' not in h)
class ErrorHandler(BaseCGIHandler): class ErrorHandler(BaseCGIHandler):
"""Simple handler subclass for testing BaseHandler""" """Simple handler subclass for testing BaseHandler"""
......
...@@ -73,7 +73,7 @@ class Headers: ...@@ -73,7 +73,7 @@ class Headers:
Does *not* raise an exception if the header is missing. Does *not* raise an exception if the header is missing.
""" """
name = name.lower() name = self._convert_string_type(name.lower())
self._headers[:] = [kv for kv in self._headers if kv[0].lower() != name] self._headers[:] = [kv for kv in self._headers if kv[0].lower() != name]
def __getitem__(self,name): def __getitem__(self,name):
...@@ -104,13 +104,13 @@ class Headers: ...@@ -104,13 +104,13 @@ class Headers:
fields deleted and re-inserted are always appended to the header list. fields deleted and re-inserted are always appended to the header list.
If no fields exist with the given name, returns an empty list. If no fields exist with the given name, returns an empty list.
""" """
name = name.lower() name = self._convert_string_type(name.lower())
return [kv[1] for kv in self._headers if kv[0].lower()==name] return [kv[1] for kv in self._headers if kv[0].lower()==name]
def get(self,name,default=None): def get(self,name,default=None):
"""Get the first header value for 'name', or return 'default'""" """Get the first header value for 'name', or return 'default'"""
name = name.lower() name = self._convert_string_type(name.lower())
for k,v in self._headers: for k,v in self._headers:
if k.lower()==name: if k.lower()==name:
return v return v
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment