diff options
author | Marcel Hellkamp <marc@gsites.de> | 2017-01-09 13:31:42 +0100 |
---|---|---|
committer | Marcel Hellkamp <marc@gsites.de> | 2017-01-09 13:31:42 +0100 |
commit | 6820404d60b302cde7de640d63041181caa0bf85 (patch) | |
tree | 59b6b8bc39ff8c844b2203281d13ac86d99ca60b | |
parent | 2c9c61995beaab39d660b4e00dfd962569325221 (diff) | |
download | bottle-6820404d60b302cde7de640d63041181caa0bf85.tar.gz |
Fix #923: TypeError WSGI response header value u'...' is not of type str
-rw-r--r-- | bottle.py | 2 | ||||
-rwxr-xr-x | test/test_environ.py | 2 |
2 files changed, 3 insertions, 1 deletions
@@ -1405,7 +1405,7 @@ def _hkey(key): def _hval(value): - value = value if isinstance(value, unicode) else str(value) + value = tonat(value) if '\n' in value or '\r' in value or '\0' in value: raise ValueError("Header value must not contain control characters: %r" % value) return value diff --git a/test/test_environ.py b/test/test_environ.py index c37af51..3a9878a 100755 --- a/test/test_environ.py +++ b/test/test_environ.py @@ -667,6 +667,8 @@ class TestResponse(unittest.TestCase): self.assertEqual('5', response['x-test']) response['x-test'] = None self.assertEqual('None', response['x-test']) + response['x-test'] = touni('瓶') + self.assertEqual(tonat(touni('瓶')), response['x-test']) def test_prevent_control_characters_in_headers(self): masks = '{}test', 'test{}', 'te{}st' |