diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2018-08-19 21:09:44 -0400 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2018-08-19 21:09:44 -0400 |
commit | f1f244ad9738b31f1a9910bcc3439039c496d011 (patch) | |
tree | 6662f86428e2f28821247707e2eccbdd52b54696 | |
parent | 0a0b3919d3fa4c517a9ed50e22b3d4fe28443ca4 (diff) | |
download | cherrypy-git-f1f244ad9738b31f1a9910bcc3439039c496d011.tar.gz |
Move list-of-unicode check
-rw-r--r-- | cherrypy/_cprequest.py | 8 |
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'): |