diff options
Diffstat (limited to 'cherrypy/lib/httputil.py')
-rw-r--r-- | cherrypy/lib/httputil.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/cherrypy/lib/httputil.py b/cherrypy/lib/httputil.py index 06004c9c..eedf8d89 100644 --- a/cherrypy/lib/httputil.py +++ b/cherrypy/lib/httputil.py @@ -391,12 +391,15 @@ class CaseInsensitiveDict(jaraco.collections.KeyTransformingDict): """A case-insensitive dict subclass. - Each key is changed on entry to str(key).title(). + Each key is changed on entry to title case. """ @staticmethod def transform_key(key): - return str(key).title() + if key is None: + # TODO(#1830): why? + return 'None' + return key.title() # TEXT = <any OCTET except CTLs, but including LWS> @@ -435,9 +438,7 @@ class HeaderMap(CaseInsensitiveDict): def elements(self, key): """Return a sorted list of HeaderElements for the given header.""" - key = str(key).title() - value = self.get(key) - return header_elements(key, value) + return header_elements(self.transform_key(key), self.get(key)) def values(self, key): """Return a sorted list of HeaderElement.value for the given header.""" |