1 rhttpconnectioninfo.h |
1 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // |
|
15 |
|
16 |
|
17 |
|
18 /** |
|
19 @file RHTTPConnectionInfo.h |
|
20 @warning : This file contains Rose Model ID comments - please do not delete |
|
21 */ |
|
22 |
|
23 #ifndef __RHTTPCONNECTIONINFO_H__ |
|
24 #define __RHTTPCONNECTIONINFO_H__ |
|
25 |
|
26 // System includes |
|
27 #include <e32std.h> |
|
28 #include <stringpool.h> |
|
29 #include <http/rhttppropertyset.h> |
|
30 |
|
31 //##ModelId=3C4C187A01CA |
|
32 class RHTTPConnectionInfo : public RHTTPPropertySet |
|
33 /** |
|
34 The RHTTPConnectionInfo is used for setting/getting |
|
35 values used for setting up a connection over a protocol. All methods are inherited |
|
36 directly from RHTTPPropertySet. |
|
37 |
|
38 To lookup/change any of the following properties, use |
|
39 RHTTPPropertySet::Property(...) and RHTTPPropertySet::SetPropertyL(...) |
|
40 |
|
41 To remove properties, use RHTTPPropertySet::RemoveProperty(...) for a named property, |
|
42 or RHTTPPropertySet::RemoveAllProperties() for all. |
|
43 |
|
44 The following values are currently defined. Note that new values |
|
45 could be added by individual filters. In general, properties |
|
46 should be defined before the first transaction is created; filters |
|
47 are not obliged to check with the connection info if the values |
|
48 have changed after this point. |
|
49 |
|
50 HTTP::EProxyUsage (default HTTP::EDoNotUseProxy) (HTTP::EDoNotUseProxy | HTTP::EUseProxy) |
|
51 |
|
52 HTTP::EProxyAddress (A Uri for the Proxy server. Should include the port number |
|
53 if it is not the default of 8080) |
|
54 |
|
55 HTTP::EMaxNumTransportHandlers (default 4) |
|
56 |
|
57 HTTP::EMaxNumTransPerTranspHndlr (default 5) |
|
58 |
|
59 HTTP::EHTTPVersion (default HTTP::EHttp11) (HTTP::EHttp11 | HTTP::EHttp10) |
|
60 |
|
61 HTTP::EProtocol (default, and currently only defined value is HTTP::EHTTP) |
|
62 |
|
63 HTTP::EHttpBatching (default HTTP::EDoNotEnableBatching) (HTTP::EDoNotEnableBatching | HTTP::EEnableBatching) |
|
64 |
|
65 HTTP::EBatchingBufferSize (default 1400) |
|
66 |
|
67 HTTP Client can create a connection and set its own preferences, instead of using the |
|
68 default connection preferences specified in COMMS Database. In such cases, the client |
|
69 is responsible for creating the RSocketServ session and RConnection using |
|
70 RSocketServ::Connect(..) and RConnection::Open(..). |
|
71 Client must also start the connection using RConnection::Start(..) and pass the |
|
72 connection preferences to the function using TConnPref. |
|
73 The following session properties should then be set by the client. |
|
74 |
|
75 HTTP::EHttpSocketServ (Handle to RSocketServ session, which is the value obtained |
|
76 by calling RSocketServ::Handle()) |
|
77 |
|
78 HTTP::EHttpSocketConnection (Reference to the RConnection object, obtained from |
|
79 reinterpret_cast(TInt, &connection)) |
|
80 |
|
81 The HTTP Client can also specify what action should be take if during a secure |
|
82 handshakes the server cert cannot be trusted. The choice is for the handshake |
|
83 to automatically cancelled or for a dialog to be raised and the user given the |
|
84 option of continuing with the handshake or cancelling it. The following session |
|
85 property should be used to specify the behaviour. |
|
86 |
|
87 HTTP::ESecureDialog (default HTTP::EDialogPrompt) (HTTP::EDialogPrompt | EDialogNoPrompt) |
|
88 |
|
89 The HTTP Client can specify the socket shutdown mode when the session is closing. At the time |
|
90 of closing the session, any outstanding transactions on open sockets can specify that the |
|
91 socket shutdown mode be set to immediate. The following property can be used to enable this |
|
92 behaviour. |
|
93 |
|
94 HTTP::ESocketShutdownMode (default HTTP::ESocketShutdownNormal) (HTTP::ESocketShutdownNormal | HTTP::ESocketShutdownImmediate |
|
95 |
|
96 The HTTP Client can limit the number of transactions that it will send down one connection when |
|
97 using pipelining. The following value should be set to an integer. When set any outstanding transaction |
|
98 that exceed this number will either be sent separately down a different connection or will |
|
99 be queued until a space becomes available. |
|
100 |
|
101 HTTP::EMaxNumTransactionsToPipeline (default KMaxTInt) (Integer) |
|
102 |
|
103 The session ID is an optional non-negative integer which is attached to the session and any sockets |
|
104 it creates. The session ID will be set on any sockets created by using RSocket::SetOpt() with |
|
105 the level KSOLHttpSessionInfo and the name KSOHttpSessionId (defined in httpsocketconstants.h). |
|
106 The session ID can be retrieved in a Flow Hook by implementing MIp6Hook::SetFlowOption() to |
|
107 look for the aforementioned option level and name. |
|
108 @see MIp6Hook |
|
109 |
|
110 HTTP::ESessionId (no default) (Integer) |
|
111 |
|
112 |
|
113 @publishedAll |
|
114 @released |
|
115 */ |
|
116 { |
|
117 }; |
|
118 |
|
119 #endif // __RHTTPCONNECTIONINFO_H__ |