You must use the RHTTPSession::SetupHTTPDataOptimiser() function of the RHTTPSession class to enable the MHTTPDataOptimiser implementation for a session. The following code illustrates the RHTTPSession class:
class RHTTPSession { public: …… RHTTPSession::SetupHTTPDataOptimiser (MHTTPDataOptimiser& aHTTPOptimiser); MHTTPDataOptimiser* RHTTPSession::HTTPDataOptimiser (); };
For a session, if you want to prevent a transaction from using the MHTTPDataOptimiser implementation, see the Overriding the optimiser for a session section.
Note: For more information about how to enable the MHTTPDataOptimiser implementation for a session, see the HTTP Whole Message Filter example section.
By default, if the MHTTPDataOptimiser implementation is enabled for a session, it applies to all transactions within the session when the MHTTPDataOptimiser implementation is not enabled for individual transactions. In a scenario where you want to prevent a particular transaction (for which MHTTPDataOptimiser implementation is not enabled) of a session from using the MHTTPDataOptimiser implementation of the session, set the EHTTPTransOptimiser property with the value EDisableHTTPTransOptimiser on that transaction.
The following code illustrates how to set the EHTTPTransOptimiser property:
// HTTP session object RHTTPSession sess; // The MHTTPDataOptimiser implementation is enabled for a session. sess.SetupHttpDataOptimiser(*this); // HTTP transaction object RHTTPTransaction trans = sess.OpenTransactionL(const TUriC8&, MHTTPTransactionCallback&, RStringF); THTTPHdrVal disableOptimiser(sess.StringPool().StringF(HTTP::EDisableHTTPTransOptimiser, RHTTPSession::GetTable())); trans.PropertySet().SetPropertyL(sess.StringPool().StringF(HTTP::EHTTPTransOptimiser, RHTTPSession::GetTable()), disableOptimiser);
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.