':return: The HTTP request as it would be sent to the wire, with a minor
change, instead of using the path in the second token of the
request we use the URL, this is just a user-friendly feature
Please note that we\'re returning a byte-string, with the
special characters in the headers and URL encoded as expected
by the RFC, and the POST-data (potentially) holding raw bytes
such as an image content.'

def dump(self, ignore_headers=()):

    data = (self.get_data() or '')
    request_head = self.dump_request_head(ignore_headers=ignore_headers)
    request_head = request_head.encode('utf-8')
    return ('%s%s%s' % (request_head, CRLF, data))
