applayerpluginsandutils/httpprotocolplugins/httpclient/chttpresponseparser.cpp
changeset 14 ce2bfba3d005
parent 12 88a7990e456a
child 49 b91bcc4b38e4
equal deleted inserted replaced
12:88a7990e456a 14:ce2bfba3d005
   791 void CHttpResponseParser::Reserved_MHttpMessageParserObserver()
   791 void CHttpResponseParser::Reserved_MHttpMessageParserObserver()
   792 	{
   792 	{
   793 	User::Invariant();
   793 	User::Invariant();
   794 	}
   794 	}
   795 
   795 
   796 
   796 void CHttpResponseParser::FlushBodyDataIfNotRead()
       
   797 {
       
   798  // Message is completed but the client is not yet read the complete body data
       
   799  // and we are cancelling. So we need to clear the parsed body data as another 
       
   800  // request would have been sent via the connection. The flushing of the body
       
   801  // data is needed to make the connection manager to read further response from the
       
   802  // socket otherwise it hangs. See the error: 
       
   803  
       
   804  // Note: This function should be called from CancelTransactionHook and only in the
       
   805  // case of client cancelling the transaction. ie; using RHTTPTransaction::Cancel();
       
   806  if(MessageComplete() && iBodyParts.Count() > 0)
       
   807   {
       
   808   iBodyParts.Reset(); // Reset the body array.  
       
   809   }
       
   810 }