diff -r c0c2f28ace9c -r a0da872af3fa applayerpluginsandutils/httpprotocolplugins/httpclient/chttpclienttransaction.cpp --- a/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpclienttransaction.cpp Tue Aug 31 15:44:10 2010 +0300 +++ b/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpclienttransaction.cpp Wed Sep 01 12:21:21 2010 +0100 @@ -110,3 +110,28 @@ } return needDisconnectNotification; } + + +TBool CHttpClientTransaction::PropogateDefaultError() const + { + TBool noRetry=EFalse; + RHTTPTransaction myTransaction = Transaction (); + RHTTPSession mySession = myTransaction.Session (); + RStringPool myStringPool ( mySession.StringPool () ); + RStringF retrySet = myStringPool.StringF( HTTP::ENotifyOnDisconnect, iStringTable ); + + RHTTPPropertySet transactionProperties = myTransaction.PropertySet(); + RHTTPPropertySet sessionProperties = mySession.ConnectionInfo(); + + THTTPHdrVal hdrVal; + + // Check the transaction properties for the disconnect notification + // If it is set then it should be used. + if ( transactionProperties.Property ( retrySet, hdrVal ) || sessionProperties.Property ( retrySet, hdrVal ) ) + { + __ASSERT_DEBUG( hdrVal.Type() == THTTPHdrVal::KStrFVal, User::Invariant() ); + + noRetry = ( hdrVal.StrF().Index(iStringTable) == HTTP::EHttpPropagateDefaultError ); + } + return noRetry; + }