diff -r a2a70ce3d4e8 -r 5f1cd966e0d9 applayerpluginsandutils/httpprotocolplugins/httpclient/chttpclienttransaction.cpp --- a/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpclienttransaction.cpp Thu Jul 15 19:14:59 2010 +0300 +++ b/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpclienttransaction.cpp Thu Aug 19 10:27:19 2010 +0300 @@ -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; + }