Set content for the response.

        Args:
            content (:obj:`str` or :obj:`iterable`): Response content. Can be
                either unicode or raw bytes. When returning large content,
                an iterable (or a generator) can be used to avoid loading
                entire content into the memory.
            content_length (:obj:`int`, optional): Content length. Length will
                be determined if not set. If content is an iterable, it's a
                good practise to set the content length.

def set_content(self, content, content_length=None):
        """Set content for the response.

        Args:
            content (:obj:`str` or :obj:`iterable`): Response content. Can be
                either unicode or raw bytes. When returning large content,
                an iterable (or a generator) can be used to avoid loading
                entire content into the memory.
            content_length (:obj:`int`, optional): Content length. Length will
                be determined if not set. If content is an iterable, it's a
                good practise to set the content length.
        """
        if content_length is not None:
            self._content_length = content_length
        self._content = content