we should probably set Content-Length before sending the headers.