--- a/syncmlfw/common/http/src/nsmlhttp.cpp Tue Jan 26 12:43:57 2010 +0200
+++ b/syncmlfw/common/http/src/nsmlhttp.cpp Tue Feb 02 00:44:00 2010 +0200
@@ -22,6 +22,7 @@
#include <DevManInternalCRKeys.h>
#include <centralrepository.h>
#include "nsmlprivatepskeys.h"
+#include <nsmlconstants.h>
#include "nsmlerror.h"
@@ -143,6 +144,16 @@
iMaxMsgSize = value;
}
}
+
+ CRepository* rep = CRepository::NewLC(KCRUidNSmlDSEngine);
+ TInt flag(0);
+ TRAPD(err, rep->Get(KNsmlDsDeflateSupport, flag));
+ DBG_FILE_CODE(flag, _S8("Flag value"));
+ if ( err == KErrNone )
+ {
+ iDeflateFlag = flag;
+ }
+ CleanupStack::PopAndDestroy(rep);
}
// ---------------------------------------------------------
@@ -565,7 +576,7 @@
delete iReqBodySubmitBuffer;
iReqBodySubmitBuffer = NULL;
- if( (iSession == ESyncMLDSSession) && (iServerAcceptEncoding == ExptDeflate) )
+ if( (iSession == ESyncMLDSSession) && (iServerAcceptEncoding == ExptDeflate) && iDeflateFlag )
{
TRAPD( err, CompressL(aStartPtr) );
User::LeaveIfError( err );
@@ -1070,13 +1081,13 @@
SetHeaderL( hdr, HTTP::EAcceptCharset, KSmlAcceptCharSet );
SetHeaderL( hdr, HTTP::EAcceptLanguage , KSmlAcceptLanguage );
- if( iSession == ESyncMLDSSession )//for ds session
- {
+ if( iSession == ESyncMLDSSession && iDeflateFlag )//for ds session
+ {
if(iServerAcceptEncoding == ExptDeflate)
- {
- SetHeaderL( hdr, HTTP::EContentEncoding , KSmlContentDeflate );
- }
- SetHeaderL( hdr, HTTP::EAcceptEncoding , KSmlContentDeflate );
+ {
+ SetHeaderL( hdr, HTTP::EContentEncoding , KSmlContentDeflate );
+ }
+ SetHeaderL( hdr, HTTP::EAcceptEncoding , KSmlContentDeflate );
}
// Add headers and body data for methods that use request bodies
@@ -1135,7 +1146,7 @@
}
else
{
- if ( (iSession == ESyncMLDSSession) && (iServerContentEncoding == ExptDeflate) )
+ if ( (iSession == ESyncMLDSSession) && (iServerContentEncoding == ExptDeflate) && iDeflateFlag )
{
TRAPD( err, DecompressL( aStartPtr ) );
User::LeaveIfError( err );