def __set__(self, obj, value):
        """Set a response body through the descriptor protocol.

        Convert the given value to an iterable object.
        """
        if isinstance(value, str):
            raise ValueError(self.unicode_err)
        elif isinstance(value, list):
            # every item in a list must be bytes...
            if any(isinstance(item, str) for item in value):
                raise ValueError(self.unicode_err)

        obj._body = encoding.prepare_iter(value)
Set a response body through the descriptor protocol.

        Convert the given value to an iterable object.
        
cherrypy/_cprequest.py