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