summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2018-08-19 21:09:44 -0400
committerJason R. Coombs <jaraco@jaraco.com>2018-08-19 21:09:44 -0400
commitf1f244ad9738b31f1a9910bcc3439039c496d011 (patch)
tree6662f86428e2f28821247707e2eccbdd52b54696
parent0a0b3919d3fa4c517a9ed50e22b3d4fe28443ca4 (diff)
downloadcherrypy-git-f1f244ad9738b31f1a9910bcc3439039c496d011.tar.gz
Move list-of-unicode check
-rw-r--r--cherrypy/_cprequest.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/cherrypy/_cprequest.py b/cherrypy/_cprequest.py
index c803f2b0..0286c79c 100644
--- a/cherrypy/_cprequest.py
+++ b/cherrypy/_cprequest.py
@@ -788,6 +788,10 @@ class ResponseBody(object):
# Convert the given value to an iterable object.
if isinstance(value, six.text_type):
raise ValueError(self.unicode_err)
+ elif isinstance(value, list):
+ # every item in a list must be bytes...
+ if any(isinstance(item, six.text_type) for item in value):
+ raise ValueError(self.unicode_err)
if isinstance(value, bytes):
# strings get wrapped in a list because iterating over a single
@@ -798,10 +802,6 @@ class ResponseBody(object):
else:
# [''] doesn't evaluate to False, so replace it with [].
value = []
- elif isinstance(value, list):
- # every item in a list must be bytes...
- if any(isinstance(item, six.text_type) for item in value):
- raise ValueError(self.unicode_err)
# Don't use isinstance here; io.IOBase which has an ABC takes
# 1000 times as long as, say, isinstance(value, str)
elif hasattr(value, 'read'):