Transaction properties are accessed using the RHTTPTransaction::PropertySet() method, which returns an RHTTPTransactionPropertySet handle. They are used to store information related to a transaction that is required to persist during the transaction lifetime. Such information is not transmitted; the mechanism only provides an association, mainly used by Symbian developers for filter.
The two pre-defined properties that can be set by the client are HTTP::EUsername and HTTP::EPassword . Their use is described in Validation filter .
An example of properties in use is taken from the Redirection filter, where a count is maintained of the number of redirections made in response to 300-series HTTP status codes:
// see if this transaction has been redirected before THTTPHdrVal redirectCountProperty; if (aTransaction.PropertySet().Property(p.StringF(HTTP::ERedirectCount,RHTTPSession::GetTable()), redirectCountProperty)) { __ASSERT_DEBUG(redirectCountProperty.Type() == THTTPHdrVal::KTIntVal, HTTPPanic::Panic(HTTPPanic::EHeaderInvalidType)); redirectCount = redirectCountProperty.Int(); __ASSERT_DEBUG(redirectCount > 0, HTTPPanic::Panic(HTTPPanic::EHeaderInvalidType)); } // Only redirect a certain number of times, and update the redirect count property of the transaction if (++redirectCount < KRedirectLimit) aTransaction.PropertySet().SetPropertyL(p.StringF(HTTP::ERedirectCount,RHTTPSession::GetTable()), redirectCount);
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.