':param msg: a :class:`models.HTTPMessage` subclass
:param with_headers: if `True`, headers will be included
:param with_body: if `True`, body will be included'

def __init__(self, msg, with_headers=True, with_body=True, on_body_chunk_downloaded=None):

    assert (with_headers or with_body)
    self.msg = msg
    self.with_headers = with_headers
    self.with_body = with_body
    self.on_body_chunk_downloaded = on_body_chunk_downloaded
