applayerpluginsandutils/httpprotocolplugins/httpclient/chttpclienttransaction.cpp
branchRCL_3
changeset 40 a0da872af3fa
parent 39 c0c2f28ace9c
--- 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;  
+    }