diff -r c0c2f28ace9c -r a0da872af3fa applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.cpp --- a/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.cpp Tue Aug 31 15:44:10 2010 +0300 +++ b/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.cpp Wed Sep 01 12:21:21 2010 +0100 @@ -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 ); } } }