RHTTPTransaction Class Reference

#include <mw/http/rhttptransaction.h>

Link against: http.lib

class RHTTPTransaction

Detailed Description

A HTTP Transaction. This encapsulates 1 HTTP request and response. A Transaction is associated with a session, and must be created using the session's CreateTransactionL method.

See also: RHTTPSession RHTTPSession::CreateTransactionL

Constructor & Destructor Documentation

RHTTPTransaction ( )


Default (uninitialised) constructor

Member Function Documentation

Cancel ( THTTPFilterHandle )

IMPORT_C voidCancel(THTTPFilterHandleaStart = THTTPFilterHandle::EClient)

Cancels the transaction.

aStartThe entity that is initiating the cancel (defaults to the client). See THTTPFilterHandle for the values this can take.

CipherSuite ( )

IMPORT_C RStringCipherSuite()

Obtain the cipher suite information for this transaction.

Return Value
RString containing the cipher suite as per RFC2246.

Close ( )

IMPORT_C voidClose()

Closes the transaction and frees all owned resources. Transactions must be opened using RHTTPSession::OpenTransactionL. It is also closed when you close the session.

Fail ( THTTPFilterHandle )

IMPORT_C voidFail(THTTPFilterHandleaStart = THTTPFilterHandle::ECurrentFilter)

This function should be called by filters when they have failed due to running out of memory. It cancels the transaction and sends the synchronous events EUnrecoverableError and EFailed to the client to inform it of the failure. For instance in a filter that attempts to send an event to the client from a MHFRunError to inform the client of a failure, if the call to SendEventL leaves, Fail() may be used to 'give up'.

HttpDataOptimiser ( )

IMPORT_C MHttpDataOptimiser *HttpDataOptimiser()

Returns the object of the MHttpDataOptimiser implementation class.

Id ( )

IMPORT_C TIntId()const

Obtain this transaction's ID, which is unique within its session. This is mostly used for producing a slightly-meaningful way of identifying transactions in logging code.

Return Value
The transaction ID.

NotifyNewRequestBodyPartL ( THTTPFilterHandle )

IMPORT_C voidNotifyNewRequestBodyPartL(THTTPFilterHandleaStart = THTTPFilterHandle::EClient)

Notify HTTP of the availability of more request body data, when submitting body data in several parts.

aStartThe filter supplying the new data. This will almost always be the client (default value)
Leave Codes
KErrNoMemoryThere was not enough memory.

PropertySet ( )

IMPORT_C RHTTPTransactionPropertySetPropertySet()const

Returns the transaction's property set. This is used by filters to store transaction-specific information, and by clients to specify things like reload or no cache behaviour.

Request ( )

IMPORT_C RHTTPRequestRequest()const

Response ( )

IMPORT_C RHTTPResponseResponse()const

Gets the response. Note that the returned response may not be valid if it hasn't been created yet.

See also: RHTTPMessage::IsValid()

SendEvent ( THTTPEvent, THTTPEvent::TDirection, THTTPFilterHandle )

IMPORT_C TIntSendEvent(THTTPEventaStatus,

SendEventL ( THTTPEvent, THTTPEvent::TDirection, THTTPFilterHandle )

IMPORT_C voidSendEventL(THTTPEventaStatus,
Sends a status message to all relevant filters. This function is predominantly used by filters, rather than by the client.
aStatusThe status message to send.
aDirectionThe direction down the filter queue that this event will be propogated.
Leave Codes
KErrNoMemoryThere was not enough memory.

ServerCert ( TCertInfo & )

IMPORT_C TIntServerCert(TCertInfo &aServerCert)

Obtain the server certificate information for this transaction. This function should only be used for text-mode, for WSP use RHttpSession::ServerCert.

See also: RHttpSession::ServerCert

v9.2 onwards - maintained for compatibility with v9.1 and before TCertInfo has been deprecated since v9.2. CCertificate may be used as an alternative.

aServerCertA client supplied object into which the certificate information will be placed.
Return Value
KErrNone if certificate has been completed, KErrNotSupported if this function is called for WSP.

ServerCert ( )

IMPORT_C const CCertificate *ServerCert()

Obtain the server certificate information for this transaction. This function should only be used for HTTP. WSP should use RHttpSession::ServerCert.

See also: RHttpSession::ServerCert

Return Value
a CCertificate pointer to an CX509Certificate object. Calling code can safely cast to CX509Certificate if using "HTTP/TCP". NULL returned if certificate information not found.

Session ( )

IMPORT_C RHTTPSessionSession()const

SetupHttpDataOptimiser ( MHttpDataOptimiser & )

IMPORT_C voidSetupHttpDataOptimiser(MHttpDataOptimiser &aHttpOptimiser)

Sets the HTTP data optimiser for the transaction.

aHttpOptimiserAn object of the implementation of interface, MHttpDataOptimiser, supplied by the client.

Submit ( THTTPFilterHandle )

IMPORT_C TIntSubmit(THTTPFilterHandleaStart = THTTPFilterHandle::EClient)

SubmitL ( THTTPFilterHandle )

IMPORT_C voidSubmitL(THTTPFilterHandleaStart = THTTPFilterHandle::EClient)
Submits a transaction. Once all the headers and other details have been set up, this call actualy causes the request to be made.
Leave Codes
KErrNoMemoryThere was not enough memory.

operator!= ( RHTTPTransaction )

TBool operator!=(RHTTPTransactionaTrans)const [inline]

Inequality operator

aTransThe transaction to compare this one to.

operator== ( RHTTPTransaction )

TBool operator==(RHTTPTransactionaTrans)const [inline]

Equality operator to check if this transaction is the same as that one.

aTransThe transaction to compare this one to.