'Prepares the given HTTP body data.'

def prepare_body(self, data, files, json=None):

    super(AWSPreparedRequest, self).prepare_body(data, files, json)
    if ('Content-Length' not in self.headers):
        if (hasattr(data, 'seek') and hasattr(data, 'tell')):
            orig_pos = data.tell()
            data.seek(0, 2)
            end_file_pos = data.tell()
            self.headers['Content-Length'] = str((end_file_pos - orig_pos))
            data.seek(orig_pos)
            if ('Transfer-Encoding' in self.headers):
                self.headers.pop('Transfer-Encoding')
