|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-795B41AF-FBEA-56CE-AE20-EF17BE754723" xml:lang="en"><title>HTTP |
|
13 Utilities Library Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
14 <section><title>Purpose</title> <p>The <xref href="GUID-46ED72C3-E4BF-336C-BDC1-1F5128A9197D.dita"><apiname>InetProtUtils</apiname></xref> API |
|
15 provides functionality to handle URIs, such as extracting URI components, |
|
16 constructing and modifying a URI, text utilities, and URI component utilities |
|
17 required to work with URIs. </p> </section> |
|
18 <section><title>Required background</title> <p>The clients that make use of |
|
19 this API must be familiar with the following standards: </p> <ul> |
|
20 <li id="GUID-4F6AFFCE-D446-5E19-91F5-8F29A059D7C9"><p> <xref href="http://www.ietf.org/rfc/rfc2396.txt" scope="external">RFC 2396</xref>, for Uniform Resource Identifiers (URI) </p> </li> |
|
21 <li id="GUID-D32F8A79-8D61-5B0F-A38C-9C77C50D1E1D"><p> <xref href="http://tools.ietf.org/html/rfc1132" scope="external">RFC 1123</xref> for internet date and time specifications </p> </li> |
|
22 <li id="GUID-8B0C887C-0856-5903-BF3C-558BCFC8BC1F"><p> <xref href="http://www.openmobilealliance.org/tech/affiliates/wap/wap-230-wsp-20010705-a.pdf" scope="external">WAP WSP</xref> for HTTP functionality. </p> </li> |
|
23 </ul> </section> |
|
24 <section><title>Key concepts</title> <p>The component has the following key |
|
25 concepts: </p> <dl> |
|
26 <dlentry> |
|
27 <dt>URI</dt> |
|
28 <dd><p>Universal Resource Identifier (URI) is a formatted string that identifies |
|
29 the location and name of a resource, for instance a web page address. </p> </dd> |
|
30 </dlentry> |
|
31 <dlentry> |
|
32 <dt>URI components</dt> |
|
33 <dd><p>Let us consider the following URI: </p> <p> <codeph>http://user:info@waterlang.org:80/top_path/foo.htm?checkme#ref</codeph> </p> <p>The |
|
34 URI can be split into components as follows: </p> <table id="GUID-4765D4B9-A3E4-5ADF-B1A7-830BB7E10EBD"> |
|
35 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/> |
|
36 <thead> |
|
37 <row> |
|
38 <entry>URI Component</entry> |
|
39 <entry>Example</entry> |
|
40 </row> |
|
41 </thead> |
|
42 <tbody> |
|
43 <row> |
|
44 <entry><p>Scheme (protocol) </p> </entry> |
|
45 <entry><p> <codeph>http</codeph> </p> </entry> |
|
46 </row> |
|
47 <row> |
|
48 <entry><p>Authority </p> <ul> |
|
49 <li id="GUID-7FF5EC7F-1B7C-5E91-9479-E305E4459EA0"><p>User Information </p> </li> |
|
50 <li id="GUID-BC76E4D9-7393-5464-9E3C-7B0756FFD4D1"><p>Host </p> </li> |
|
51 <li id="GUID-B586337A-1116-58C4-BC7F-940945AD38B8"><p>Port </p> </li> |
|
52 </ul> </entry> |
|
53 <entry><p> </p> <ul> |
|
54 <li id="GUID-81135C6E-C55E-5699-98D6-49BA2D9871BE"><p> <codeph>user:info</codeph> </p> </li> |
|
55 <li id="GUID-4A07BDB8-F32B-5572-8B46-4E0C78EDC65C"><p> <codeph>waterlang.org</codeph> </p> </li> |
|
56 <li id="GUID-18C83120-4046-52B7-926C-DC9644E86C49"><p> <codeph>80</codeph> </p> </li> |
|
57 </ul> </entry> |
|
58 </row> |
|
59 <row> |
|
60 <entry><p>Path </p> </entry> |
|
61 <entry><p> <codeph>top_path/foo.htm</codeph> </p> </entry> |
|
62 </row> |
|
63 <row> |
|
64 <entry><p>Query </p> </entry> |
|
65 <entry><p> <codeph>checkme</codeph> </p> </entry> |
|
66 </row> |
|
67 <row> |
|
68 <entry><p>Segment </p> </entry> |
|
69 <entry><p> <codeph> ref</codeph> </p> </entry> |
|
70 </row> |
|
71 </tbody> |
|
72 </tgroup> |
|
73 </table> </dd> |
|
74 </dlentry> |
|
75 <dlentry> |
|
76 <dt>Authority component</dt> |
|
77 <dd><p>In an URI, the user information, host and port information put together |
|
78 is called authority. Format for authority appears as the following: </p> <p> <codeph>[user-info@]host[:port]</codeph> </p> <p>where, <codeph>user-info</codeph> may consist of a user name and, optionally, scheme-specific information |
|
79 about how to gain authorization to access the server, for example, password. <codeph>port</codeph> specifies |
|
80 the port number. </p> </dd> |
|
81 </dlentry> |
|
82 </dl> </section> |
|
83 <section><title>Architectural relationships</title> <p>The <xref href="GUID-46ED72C3-E4BF-336C-BDC1-1F5128A9197D.dita"><apiname>InetProtUtils</apiname></xref> API |
|
84 (<filepath>inetprotutils.dll</filepath>) is used by the following components: </p> <ul> |
|
85 <li id="GUID-8FA3CA2A-0A42-5F64-9AC0-56B2E340B63A"><p>App services </p> <ul> |
|
86 <li id="GUID-922DF8F6-1801-5A99-AD8D-15A92DF31242"><p>DM / DS </p> </li> |
|
87 <li id="GUID-096E985C-6170-5908-955E-4406CC3C690D"><p>Content Handling Framework </p> </li> |
|
88 </ul> </li> |
|
89 <li id="GUID-DCA9F8B1-1066-57F6-9BC5-ECF8D81B0EA2"><p>Symbian platform services: </p> <ul> |
|
90 <li id="GUID-88AEE90D-1A2D-5468-95C8-AFE8ECB5FF14"><p>Certificate lib </p> </li> |
|
91 <li id="GUID-4265166D-092D-5005-8E7D-127EB9C25DF1"><p>Multimedia </p> </li> |
|
92 </ul> </li> |
|
93 </ul> </section> |
|
94 <section><title>API summary</title> <p>The following classes are used for |
|
95 creating, parsing and modifying the URI: </p> <table id="GUID-6161C49F-F18A-51BD-A6F8-51E045A1DD6E"> |
|
96 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/> |
|
97 <thead> |
|
98 <row> |
|
99 <entry>Class Name</entry> |
|
100 <entry>Description</entry> |
|
101 </row> |
|
102 </thead> |
|
103 <tbody> |
|
104 <row> |
|
105 <entry><p> <xref href="GUID-E6F8C94C-C74C-329B-BB11-E06F0E83A4BB.dita"><apiname>CUri8</apiname></xref> </p> </entry> |
|
106 <entry><p>Creates URI from parts and modifies the URI. </p> </entry> |
|
107 </row> |
|
108 <row> |
|
109 <entry><p> <xref href="GUID-3B5EC759-81D3-3A5E-B437-7AA3BD3124BA.dita"><apiname>CAuthority8</apiname></xref> </p> </entry> |
|
110 <entry><p>Modifies the authority and creates authority from parts. </p> </entry> |
|
111 </row> |
|
112 <row> |
|
113 <entry><p> <xref href="GUID-A81CD022-5AD4-3BD8-B006-B3891C4F4F74.dita"><apiname>TUriC8</apiname></xref> </p> </entry> |
|
114 <entry><p>Retrieves information about the URI such as extract, compare, validate |
|
115 etc. (the non-modifying functionality). </p> </entry> |
|
116 </row> |
|
117 <row> |
|
118 <entry><p> <xref href="GUID-F7CCFDE5-4829-314C-A209-2F6714C02AA6.dita"><apiname>TAuthorityC8</apiname></xref> </p> </entry> |
|
119 <entry><p>Retrieves information about the authority URI such as extract, compare, |
|
120 validate etc. </p> </entry> |
|
121 </row> |
|
122 <row> |
|
123 <entry><p> <xref href="GUID-EB2EEEF1-705B-334D-A4B0-3D0C4CBE2DA1.dita"><apiname>TUriParser8</apiname></xref> </p> </entry> |
|
124 <entry><p>Parses a text URI. </p> </entry> |
|
125 </row> |
|
126 <row> |
|
127 <entry><p> <xref href="GUID-985C12CB-9230-3A35-9F5F-E455D4C23EBB.dita"><apiname>TAuthorityParser8</apiname></xref> </p> </entry> |
|
128 <entry><p>Parses a text authority. </p> </entry> |
|
129 </row> |
|
130 </tbody> |
|
131 </tgroup> |
|
132 </table> <p>The following classes are used for parsing delimited data in the |
|
133 URI: </p> <table id="GUID-D58565BF-4859-53FA-8278-CF3ED3D9B487"> |
|
134 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/> |
|
135 <thead> |
|
136 <row> |
|
137 <entry>Class Name</entry> |
|
138 <entry>Description</entry> |
|
139 </row> |
|
140 </thead> |
|
141 <tbody> |
|
142 <row> |
|
143 <entry><p> <xref href="GUID-51DFAA06-EC5E-32E6-9819-39938C46B2C0.dita"><apiname>CDelimitedPath8</apiname></xref> </p> </entry> |
|
144 <entry><p>Creates a delimited path, where components of the path are delimited |
|
145 by '/' . </p> </entry> |
|
146 </row> |
|
147 <row> |
|
148 <entry><p> <xref href="GUID-9A640379-04BC-3A8E-9452-54833B2419AE.dita"><apiname>CDelimitedQuery8</apiname></xref> </p> </entry> |
|
149 <entry><p>Creates a delimited query, where components of the query are delimited |
|
150 by '&'. </p> </entry> |
|
151 </row> |
|
152 <row> |
|
153 <entry><p> <xref href="GUID-CF89AECB-5085-32CA-85B4-3573CDB1D595.dita"><apiname>CDelimitedPathSegment8</apiname></xref> </p> </entry> |
|
154 <entry><p>Creates a delimited path segment, where components of the path segment |
|
155 are delimited by ';'. </p> </entry> |
|
156 </row> |
|
157 <row> |
|
158 <entry><p> <xref href="GUID-CD78AD53-FD6C-397A-9930-12E8EDCF6040.dita"><apiname>TDelimitedPathParser8</apiname></xref> </p> </entry> |
|
159 <entry><p>Parses path delimited by a '/'. </p> </entry> |
|
160 </row> |
|
161 <row> |
|
162 <entry><p> <xref href="GUID-F76F2546-D3AC-341B-BED8-D3C88EA2C018.dita"><apiname>TDelimitedQueryParser8</apiname></xref> </p> </entry> |
|
163 <entry><p>Parses query delimited by a '&'. </p> </entry> |
|
164 </row> |
|
165 <row> |
|
166 <entry><p> <xref href="GUID-F55AF53B-662F-3682-9B6D-A3D14AED0D58.dita"><apiname>TDelimitedPathSegmentParser8</apiname></xref> </p> </entry> |
|
167 <entry><p>Parses path segments delimited by a ';'. </p> </entry> |
|
168 </row> |
|
169 <row> |
|
170 <entry><p> <xref href="GUID-9CC256C4-D4A2-3534-9B3C-2FBF1AAE5F51.dita"><apiname>EscapeUtils</apiname></xref> </p> </entry> |
|
171 <entry><p>Encodes and decodes excluded and reserved URI characters. It can |
|
172 be used with 8 bit and 16 bit descriptors. </p> </entry> |
|
173 </row> |
|
174 <row> |
|
175 <entry><p> <xref href="GUID-9FC0E63B-1927-30B0-8A97-E9CB1010FFEE.dita"><apiname> InetProtTextUtils</apiname></xref> </p> </entry> |
|
176 <entry><p>Parses HTTP header text. </p> </entry> |
|
177 </row> |
|
178 <row> |
|
179 <entry><p> <xref href="GUID-265F8D6B-4B88-342A-BD7B-5934CC9437DA.dita"><apiname>UriUtils</apiname></xref> </p> </entry> |
|
180 <entry><p>Provides extra utilities for URI/Authority classes such as creating |
|
181 URI from Unicode descriptor. </p> </entry> |
|
182 </row> |
|
183 </tbody> |
|
184 </tgroup> |
|
185 </table> <p>The following classes are used for encoding and decoding WSP headers: </p> <table id="GUID-7EFEBABF-2AE5-56EF-9C73-B3B84E279A93"> |
|
186 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/> |
|
187 <thead> |
|
188 <row> |
|
189 <entry>Class Name</entry> |
|
190 <entry>Description</entry> |
|
191 </row> |
|
192 </thead> |
|
193 <tbody> |
|
194 <row> |
|
195 <entry><p> <xref href="GUID-8E0D4BBE-BD06-396F-9517-45F9BFCDEF37.dita"><apiname>CWspHeaderEncoder</apiname></xref> </p> </entry> |
|
196 <entry><p>The class is used to encode one header field at a time with all |
|
197 its values and parameters. </p> </entry> |
|
198 </row> |
|
199 <row> |
|
200 <entry><p> <xref href="GUID-310AB7CF-C1B0-3C5A-8C4A-C96259A49F0F.dita"><apiname>TWspHeaderSegmenter </apiname></xref> </p> </entry> |
|
201 <entry><p>The class is used to separate a WSP buffer into WSP header name/value |
|
202 pairs. </p> </entry> |
|
203 </row> |
|
204 <row> |
|
205 <entry><p> <xref href="GUID-CFE23AB1-A94B-3609-8B37-35C2A9023DE3.dita"><apiname>TWspPrimitiveEncoder</apiname></xref> </p> </entry> |
|
206 <entry><p>The class is used to convert WSP header data into binary strings. </p> </entry> |
|
207 </row> |
|
208 <row> |
|
209 <entry><p> <xref href="GUID-A0F4B729-E70A-3125-A5A6-D908216FCA5A.dita"><apiname>TWspPrimitiveDecoder</apiname></xref> </p> </entry> |
|
210 <entry><p>The class is used to convert the binary data into integers, strings, |
|
211 dates, etc. </p> </entry> |
|
212 </row> |
|
213 <row> |
|
214 <entry><p> <xref href="GUID-9C280536-E402-35CB-B317-BE4E6A8C23D8.dita"><apiname>TWspField</apiname></xref> </p> </entry> |
|
215 <entry><p>The class holds the name and value pair of WSP header field. </p> </entry> |
|
216 </row> |
|
217 </tbody> |
|
218 </tgroup> |
|
219 </table> <p>The following diagram shows the <codeph>InetProtUtils</codeph> classes |
|
220 and their relationships. </p> <fig id="GUID-482F6611-C67C-5003-94DD-29DCBCC85092"> |
|
221 <title> Class diagram for InetProtUtils </title> |
|
222 <image href="GUID-C4D0B083-CCF9-52BD-A6BC-5187BEF3B0CB_d0e182873_href.png" placement="inline"/> |
|
223 </fig> </section> |
|
224 <section><title>Typical uses</title> <p>Applications that use HTTP transport |
|
225 framework use <xref href="GUID-46ED72C3-E4BF-336C-BDC1-1F5128A9197D.dita"><apiname>InetProtUtils</apiname></xref> API. The utilities may also |
|
226 be useful for applications which deal with internet strings or URIs, such |
|
227 as mail or IM applications. </p> <p>The following tasks can be performed using <xref href="GUID-46ED72C3-E4BF-336C-BDC1-1F5128A9197D.dita"><apiname>InetProtUtils</apiname></xref>: </p> <p><b>Creating |
|
228 an URI </b> </p> <p>URI can be created in different ways. It can be created |
|
229 from parts, from file or by resolving two URIs using <xref href="GUID-E6F8C94C-C74C-329B-BB11-E06F0E83A4BB.dita"><apiname>CUri8</apiname></xref> class. </p> <p>For |
|
230 more information on creating a URI, refer to <xref href="GUID-4D32A29F-6573-5233-8982-BDEEDDB4F0FF.dita">Creating |
|
231 an URI</xref> tutorial. </p> <p><b>Parsing an URI </b> </p> <p>To check if |
|
232 the components in the URI are syntactically correct as per the four main components |
|
233 and fragment identifier, parse the URI. Use <xref href="GUID-EB2EEEF1-705B-334D-A4B0-3D0C4CBE2DA1.dita"><apiname>TUriParser8</apiname></xref> class |
|
234 to parse an URI. </p> <p>For more information on parsing, refer to <xref href="GUID-D535D51E-EAF5-581A-929B-5B1EF179A273.dita">Parsing |
|
235 an URI</xref> tutorial. </p> <p>URI classes namely, <xref href="GUID-E6F8C94C-C74C-329B-BB11-E06F0E83A4BB.dita"><apiname>CUri8</apiname></xref>, <xref href="GUID-A81CD022-5AD4-3BD8-B006-B3891C4F4F74.dita"><apiname>TUriC8</apiname></xref> and <xref href="GUID-EB2EEEF1-705B-334D-A4B0-3D0C4CBE2DA1.dita"><apiname>TUriParser8</apiname></xref> provide |
|
236 functionalities for parsing generic and SIP URIs. <xref href="GUID-E6F8C94C-C74C-329B-BB11-E06F0E83A4BB.dita"><apiname>CUri8</apiname></xref> class |
|
237 provides a reference to a <xref href="GUID-A81CD022-5AD4-3BD8-B006-B3891C4F4F74.dita"><apiname>TUriC8</apiname></xref> object so that the non-modifying |
|
238 functionality can be used. <xref href="GUID-A81CD022-5AD4-3BD8-B006-B3891C4F4F74.dita"><apiname>TUriC8</apiname></xref> is used to obtain information |
|
239 about an URI. </p> <p><b>Extracting URI components </b> </p> <p> <xref href="GUID-A81CD022-5AD4-3BD8-B006-B3891C4F4F74.dita"><apiname>TUriC8</apiname></xref> class |
|
240 provides extracting methods to extract components from the URI. <xref href="GUID-25B6817F-8EBC-3DF3-B3BC-3D1E1430C8A6.dita"><apiname>TAuthority8</apiname></xref> class |
|
241 extracts the authority component. </p> <p>For more information on getting |
|
242 URI components, refer to <xref href="GUID-8E3BD71D-D372-5315-B282-F87FA60A1D5A.dita">Extracting |
|
243 the URI Components</xref> tutorial. </p> <p><b>Generating the filename from |
|
244 an URI </b> </p> <p>A fully qualified file name can be generated from a file |
|
245 URI object. <xref href="GUID-A81CD022-5AD4-3BD8-B006-B3891C4F4F74.dita#GUID-A81CD022-5AD4-3BD8-B006-B3891C4F4F74/GUID-AD8DC94E-743B-3347-9AC4-B37AE23AA786"><apiname>TUriC8::GetFileNameL()</apiname></xref> provides this functionality. |
|
246 The path component encodes the file's location on the file system. </p> <p>For |
|
247 more information, refer to <xref href="GUID-4B7352BF-4BF8-5FF2-8835-F146BB7D4EAC.dita">Generating |
|
248 File Name from URI</xref> tutorial. </p> <p><b>Validating a URI </b> </p> <p>Use <xref href="GUID-EB2EEEF1-705B-334D-A4B0-3D0C4CBE2DA1.dita#GUID-EB2EEEF1-705B-334D-A4B0-3D0C4CBE2DA1/GUID-9B6C3634-7E19-39B5-A12F-80A16DDCFF4E"><apiname>TUriParser8::Validate()</apiname></xref> to |
|
249 check if components in a given URI are valid. This validates only SIP and |
|
250 SIPS scheme components. </p> <p>For more information, refer to <xref href="GUID-8F5BC47B-0551-5245-A1ED-629380111B43.dita">Validating |
|
251 an URI</xref> tutorial. </p> <p><b>Parsing delimited data </b> </p> <p>URI |
|
252 components are separated into segments using delimiters. Parse this delimited |
|
253 data. <codeph>TDelimitedXxxxParser8</codeph> classes provide the functionality |
|
254 to parse the delimited data, extract the current segment and parse the string |
|
255 for the next segment. </p> <p>For more information, refer to <xref href="GUID-42F0F282-58D6-4878-B53D-EAEEF86A3D7D.dita">Parsing |
|
256 Delimited Data</xref> tutorial. </p> <p><b>Modifying the data |
|
257 and the delimiter </b> </p> <p>The delimiters and segments of data within |
|
258 an URI can be added, removed and parsed. This functionality is provided by <codeph>CDelimitedXxxx8</codeph> classes. </p> <p>For |
|
259 more information, refer to <xref href="GUID-834F5FC8-EBE4-4076-B1E3-38DDFF89D700.dita">Modifying |
|
260 the Data and Delimiter</xref> tutorial. </p> <p><b>Escape encoding and decoding |
|
261 unsafe characters in an URI </b> </p> <p>The reserved and unsafe data in the |
|
262 URI is escape encoded and decoded using <xref href="GUID-9CC256C4-D4A2-3534-9B3C-2FBF1AAE5F51.dita"><apiname>EscapeUtils</apiname></xref> class. |
|
263 It also supports converting Unicode data (16-bit descriptor) into UTF8 data |
|
264 (8-bit descriptor) and vice-versa. For more information, refer to <xref href="GUID-0E8206E9-4F1D-5DF5-8A69-9B0831061CFF.dita">Escape |
|
265 Encoding and Decoding</xref> and <xref href="GUID-853BFDC0-1993-5EFC-AA68-C9EA496EEF3F.dita">Converting |
|
266 between Unicode and Utf8</xref> tutorials. </p> <p><b>Manipulating the URI |
|
267 data </b> </p> <p>The data in an URI can be manipulated using various text |
|
268 parsing utilities that are used typically in HTTP headers. <xref href="GUID-9FC0E63B-1927-30B0-8A97-E9CB1010FFEE.dita"><apiname>InetProtTextUtils</apiname></xref> provides |
|
269 functionality to: </p> <ul> |
|
270 <li id="GUID-E845FA13-8644-5762-94C7-F34C21BA50CC"><p>remove the leading/trailing |
|
271 contiguous white space characters from the descriptors </p> </li> |
|
272 <li id="GUID-D2418E05-405D-5E19-A239-D5261B420A83"><p>convert the decimal/hexadecimal |
|
273 value to descriptor and vice versa. </p> </li> |
|
274 <li id="GUID-99B9C4A8-AE2A-5541-BCB0-59E138898FB8"><p>extract tokens from: </p> <ul> |
|
275 <li id="GUID-AE9AFA73-84D8-5EDD-A51C-21714FA5C96C"><p>a list, which is a string |
|
276 separated with a character, for example, abc, def, ghi. </p> </li> |
|
277 <li id="GUID-CF6A13D6-0FB0-57A3-B6E2-1791316FD61E"><p>quoted strings in text. </p> </li> |
|
278 </ul> </li> |
|
279 </ul> <p>It supports both Unicode and UTF-8 formats. For more information |
|
280 on text manipulations, refer to <xref href="GUID-098106AC-0A5A-5C7D-B432-492EADFE7EA3.dita">Manipulating |
|
281 URI Data</xref> tutorial. </p><p><b>Using URI utilities </b> </p> <p>Additional |
|
282 functionality to create an URI from unicode descriptor is provided by <xref href="GUID-265F8D6B-4B88-342A-BD7B-5934CC9437DA.dita"><apiname>UriUtils</apiname></xref> class. |
|
283 It also allows to translate unsafe characters to UTF8 and escape-encode. </p> <p>For |
|
284 more information, refer to <xref href="GUID-A8F13E5A-56F2-5C72-AF81-5AC062B94C6C.dita">Using |
|
285 URI utilities</xref>. </p> <p><b>Using datetime utilities </b> </p> <p>To |
|
286 store dates in universal times and parse the internet dates into <xref href="GUID-13A9DD2B-8ABC-3D62-B54E-4F5DD5B9228B.dita"><apiname>TDateTime</apiname></xref> dates, |
|
287 use <xref href="GUID-156E9C02-99AD-3C63-80AD-939A6DFB08B1.dita"><apiname>TInternetDate</apiname></xref>. </p> <p>For more information, refer |
|
288 to <xref href="GUID-3F7142D6-261B-5FB9-888A-1A9BB51B67E5.dita">Using Date and Time |
|
289 Utilities</xref> tutorial. </p> <p><b>Escape encoding and decoding the WSP |
|
290 header </b> </p> <p>The WSP header information is encoded and decoded using <xref href="GUID-8E0D4BBE-BD06-396F-9517-45F9BFCDEF37.dita"><apiname>CWspHeaderEncoder</apiname></xref>. |
|
291 It uses <xref href="GUID-CFE23AB1-A94B-3609-8B37-35C2A9023DE3.dita"><apiname>TWspPrimitiveEncoder</apiname></xref> to convert the data into binary |
|
292 strings. </p> <p>For more information, refer to <xref href="GUID-0BE9F825-9FF8-55A1-AF7C-A380A0C64735.dita">Encoding |
|
293 and Decoding WSP Header</xref>. </p><note> Use <codeph>Cxxx</codeph> classes |
|
294 to create text from parts and <codeph>TxxParser</codeph> classes to parse |
|
295 text into components.</note> </section> |
|
296 </conbody><related-links> |
|
297 <link href="GUID-F46CDF2C-DA64-5F30-B4C8-CC4B02CE67B9.dita"><linktext>HTTP Utilities |
|
298 Library Concepts</linktext></link> |
|
299 <link href="GUID-96837414-3041-5E1E-A2E9-C18EECCF86D9.dita"><linktext>HTTP Utilities |
|
300 Library Tutorials</linktext></link> |
|
301 <link href="GUID-AFAD0F36-330B-50BD-B810-85BE7FA21179.dita"><linktext>HTTP Utilities |
|
302 Library Example</linktext></link> |
|
303 </related-links></concept> |