Hi Andy,
On 11/22/11 5:49 AM, Andy Clayton wrote:
The size that net_conn_read reads is limited by netconn_stream's remaining content_length, so if the content_length is zero it reads nothing. It also means that the read size it returns is 0, which typically indicates that the socket was closed. As a result of the change from 193da884ad9b982d9b740b15453aa8d3c19b054f, HTTP_ReceiveRequestData acts on the read size of 0 and closes the connection. HttpSendRequest calls HTTP_ReceiveRequestData if there is no post data, closing the connection with none of the response data ever being read.
This patch fixes this case by initializing netconn_stream's content_length to ~0.
This doesn't seem right. At the point where we call HTTP_ReceiveRequestData, content_length is supposed to be set based on response header. The bug must be somewhere else.
Jacek