diff -r a2a70ce3d4e8 -r 5f1cd966e0d9 applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.cpp --- a/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.cpp Thu Jul 15 19:14:59 2010 +0300 +++ b/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.cpp Thu Aug 19 10:27:19 2010 +0300 @@ -314,7 +314,9 @@ // The request has not been made - just need to remove the request and // response objects from the pending queues. iPendingRequests.Remove(requestIndex); - iPendingResponses.Remove(responseIndex); + + if (KErrNotFound != responseIndex) + iPendingResponses.Remove(responseIndex); } else if( responseIndex != KErrNotFound ) { @@ -1281,13 +1283,16 @@ TPtrC8 data; __FLOG_0(_T8("!! doing an immediate socket read")); TInt ret = iInputStream->ImmediateRead ( data ); + if (ret) //we have some data read..so parse it + { + responseCompleted = iCurrentResponse->CompleteResponse ( data ); + } if ( ( iPendingResponses.Count() == 0 ) || ret <= KErrNone ) { __FLOG_0(_T8("!! Breaking from the loop")); // no further data is expected or there is a socket error break; } - responseCompleted = iCurrentResponse->CompleteResponse ( data ); } } }