Merge "Don't crash when header is value of None"

This commit is contained in:
Jenkins 2013-12-07 10:12:08 +00:00 committed by Gerrit Code Review
commit b0f794800c
2 changed files with 8 additions and 1 deletions

View File

@ -97,7 +97,9 @@ def quote(value, safe='/'):
def validate_headers(headers):
if headers:
for key, value in headers.iteritems():
for key, raw_value in headers.iteritems():
value = str(encode_utf8(raw_value))
if '\n' in value:
raise InvalidHeadersException("%r header contained a "
"newline" % key)

View File

@ -190,6 +190,11 @@ class TestHttpHelpers(MockHttpTest):
self.assertRaises(c.InvalidHeadersException, c.validate_headers,
headers)
def test_validate_headers_with_other_than_str(self):
for t in (None, 1, 1.0, 1L, u"A"):
self.assertEqual(c.validate_headers({'key': t}),
None)
# TODO: following tests are placeholders, need more tests, better coverage