File: Poco.URI.html

package info (click to toggle)
poco-doc 1.3.6-1
  • links: PTS
  • area: main
  • in suites: buster, jessie, jessie-kfreebsd, squeeze, stretch, wheezy
  • size: 10,076 kB
  • ctags: 9,611
  • sloc: makefile: 31
file content (388 lines) | stat: -rw-r--r-- 31,422 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class Poco::URI</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta name="author" content="Applied Informatics Software Engineering GmbH and Contributors"/>
<meta name="publisher" content="Applied Informatics Software Engineering GmbH and Contributors"/>
<meta name="copyright" content="Copyright (c) 2009, Applied Informatics Software Engineering GmbH and Contributors"/>
<meta name="language" content="en"/>
<meta name="date" content="2009-11-24"/>
<meta name="generator" content="PocoDoc"/>
<link rel="stylesheet" href="css/styles.css" type="text/css"/>
</head>
<body bgcolor="#ffffff" leftmargin="0" topmargin="0">
<div class="header">
<h1 class="namespace"><a href="Poco.html" class="namespace">Poco</a></h1>
<h1 class="symbol">class URI</h1>
</div>
<div class="body">
<p>
<b>Library:</b> Foundation<br />
<b>Package:</b> URI<br />
<b>Header:</b> Poco/URI.h</p>
<h2>Description</h2>
<div class="description">
<p>A Uniform Resource Identifier, as specified in <a href="http://www.ietf.org/rfc/rfc3986.txt" target="_blank">RFC 3986</a>. </p>
<p>The <a href="Poco.URI.html" title="class Poco::URI">URI</a> class provides methods for building URIs from their parts, as well as for splitting URIs into their parts. Furthermore, the class provides methods for resolving relative URIs against base URIs. </p>
<p>The class automatically performs a few normalizations on all URIs and <a href="Poco.URI.html" title="class Poco::URI">URI</a> parts passed to it: </p>
<ul>
<li>scheme identifiers are converted to lower case. </li>
<li>percent-encoded characters are decoded </li>
<li>optionally, dot segments are removed from paths (see <a href="Poco.URI.html#11444" title="Poco::URI::normalize()">normalize</a>()) </li>
</ul>
</div>
<h2>Member Summary</h2>
<p><b>Member Functions: </b><a href="Poco.URI.html#11485" title="Poco::URI::buildPath()">buildPath</a>, <a href="Poco.URI.html#11397" title="Poco::URI::clear()">clear</a>, <a href="Poco.URI.html#11451" title="Poco::URI::decode()">decode</a>, <a href="Poco.URI.html#11435" title="Poco::URI::empty()">empty</a>, <a href="Poco.URI.html#11447" title="Poco::URI::encode()">encode</a>, <a href="Poco.URI.html#11454" title="Poco::URI::equals()">equals</a>, <a href="Poco.URI.html#11411" title="Poco::URI::getAuthority()">getAuthority</a>, <a href="Poco.URI.html#11423" title="Poco::URI::getFragment()">getFragment</a>, <a href="Poco.URI.html#11405" title="Poco::URI::getHost()">getHost</a>, <a href="Poco.URI.html#11414" title="Poco::URI::getPath()">getPath</a>, <a href="Poco.URI.html#11429" title="Poco::URI::getPathAndQuery()">getPathAndQuery</a>, <a href="Poco.URI.html#11428" title="Poco::URI::getPathEtc()">getPathEtc</a>, <a href="Poco.URI.html#11445" title="Poco::URI::getPathSegments()">getPathSegments</a>, <a href="Poco.URI.html#11408" title="Poco::URI::getPort()">getPort</a>, <a href="Poco.URI.html#11417" title="Poco::URI::getQuery()">getQuery</a>, <a href="Poco.URI.html#11420" title="Poco::URI::getRawQuery()">getRawQuery</a>, <a href="Poco.URI.html#11399" title="Poco::URI::getScheme()">getScheme</a>, <a href="Poco.URI.html#11402" title="Poco::URI::getUserInfo()">getUserInfo</a>, <a href="Poco.URI.html#11457" title="Poco::URI::getWellKnownPort()">getWellKnownPort</a>, <a href="Poco.URI.html#11434" title="Poco::URI::isRelative()">isRelative</a>, <a href="Poco.URI.html#11456" title="Poco::URI::isWellKnownPort()">isWellKnownPort</a>, <a href="Poco.URI.html#11478" title="Poco::URI::mergePath()">mergePath</a>, <a href="Poco.URI.html#11444" title="Poco::URI::normalize()">normalize</a>, <a href="Poco.URI.html#11440" title="Poco::URI::operator !=()">operator&nbsp;!=</a>, <a href="Poco.URI.html#11389" title="Poco::URI::operator =()">operator&nbsp;=</a>, <a href="Poco.URI.html#11436" title="Poco::URI::operator ==()">operator&nbsp;==</a>, <a href="Poco.URI.html#11458" title="Poco::URI::parse()">parse</a>, <a href="Poco.URI.html#11460" title="Poco::URI::parseAuthority()">parseAuthority</a>, <a href="Poco.URI.html#11475" title="Poco::URI::parseFragment()">parseFragment</a>, <a href="Poco.URI.html#11463" title="Poco::URI::parseHostAndPort()">parseHostAndPort</a>, <a href="Poco.URI.html#11466" title="Poco::URI::parsePath()">parsePath</a>, <a href="Poco.URI.html#11469" title="Poco::URI::parsePathEtc()">parsePathEtc</a>, <a href="Poco.URI.html#11472" title="Poco::URI::parseQuery()">parseQuery</a>, <a href="Poco.URI.html#11480" title="Poco::URI::removeDotSegments()">removeDotSegments</a>, <a href="Poco.URI.html#11430" title="Poco::URI::resolve()">resolve</a>, <a href="Poco.URI.html#11412" title="Poco::URI::setAuthority()">setAuthority</a>, <a href="Poco.URI.html#11424" title="Poco::URI::setFragment()">setFragment</a>, <a href="Poco.URI.html#11406" title="Poco::URI::setHost()">setHost</a>, <a href="Poco.URI.html#11415" title="Poco::URI::setPath()">setPath</a>, <a href="Poco.URI.html#11426" title="Poco::URI::setPathEtc()">setPathEtc</a>, <a href="Poco.URI.html#11409" title="Poco::URI::setPort()">setPort</a>, <a href="Poco.URI.html#11418" title="Poco::URI::setQuery()">setQuery</a>, <a href="Poco.URI.html#11421" title="Poco::URI::setRawQuery()">setRawQuery</a>, <a href="Poco.URI.html#11400" title="Poco::URI::setScheme()">setScheme</a>, <a href="Poco.URI.html#11403" title="Poco::URI::setUserInfo()">setUserInfo</a>, <a href="Poco.URI.html#11395" title="Poco::URI::swap()">swap</a>, <a href="Poco.URI.html#11398" title="Poco::URI::toString()">toString</a></p>
<h2>Constructors</h2>
<h3><a name="11360">URI</a></h3>
<p class="decl"><a href="Poco.URI.html" title="class Poco::URI">URI</a>();</p>
<div class="description">
<p>Creates an empty <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11361">URI</a></h3>
<p class="decl">explicit <a href="Poco.URI.html" title="class Poco::URI">URI</a>(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; uri<br />);</p>
<div class="description">
<p>Parses an <a href="Poco.URI.html" title="class Poco::URI">URI</a> from the given string. Throws a <a href="Poco.SyntaxException.html" title="class Poco::SyntaxException">SyntaxException</a> if the uri is not valid. </p>
</div>
<h3><a name="11363">URI</a></h3>
<p class="decl">explicit <a href="Poco.URI.html" title="class Poco::URI">URI</a>(<br />&nbsp;&nbsp;&nbsp;&nbsp;const char * uri<br />);</p>
<div class="description">
<p>Parses an <a href="Poco.URI.html" title="class Poco::URI">URI</a> from the given string. Throws a <a href="Poco.SyntaxException.html" title="class Poco::SyntaxException">SyntaxException</a> if the uri is not valid. </p>
</div>
<h3><a name="11383">URI</a></h3>
<p class="decl"><a href="Poco.URI.html" title="class Poco::URI">URI</a>(<br />&nbsp;&nbsp;&nbsp;&nbsp;const <a href="Poco.URI.html" title="class Poco::URI">URI</a> &amp; uri<br />);</p>
<div class="description">
<p>Copy constructor. Creates an <a href="Poco.URI.html" title="class Poco::URI">URI</a> from another one. </p>
</div>
<h3><a name="11365">URI</a></h3>
<p class="decl"><a href="Poco.URI.html" title="class Poco::URI">URI</a>(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; scheme,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; pathEtc<br />);</p>
<div class="description">
<p>Creates an <a href="Poco.URI.html" title="class Poco::URI">URI</a> from its parts. </p>
</div>
<h3><a name="11385">URI</a></h3>
<p class="decl"><a href="Poco.URI.html" title="class Poco::URI">URI</a>(<br />&nbsp;&nbsp;&nbsp;&nbsp;const <a href="Poco.URI.html" title="class Poco::URI">URI</a> &amp; baseURI,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; relativeURI<br />);</p>
<div class="description">
<p>Creates an <a href="Poco.URI.html" title="class Poco::URI">URI</a> from a base <a href="Poco.URI.html" title="class Poco::URI">URI</a> and a relative <a href="Poco.URI.html" title="class Poco::URI">URI</a>, according to the algorithm in section 5.2 of <a href="http://www.ietf.org/rfc/rfc3986.txt" target="_blank">RFC 3986</a>. </p>
</div>
<h3><a name="11368">URI</a></h3>
<p class="decl"><a href="Poco.URI.html" title="class Poco::URI">URI</a>(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; scheme,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; authority,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; pathEtc<br />);</p>
<div class="description">
<p>Creates an <a href="Poco.URI.html" title="class Poco::URI">URI</a> from its parts. </p>
</div>
<h3><a name="11372">URI</a></h3>
<p class="decl"><a href="Poco.URI.html" title="class Poco::URI">URI</a>(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; scheme,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; authority,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; path,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; query<br />);</p>
<div class="description">
<p>Creates an <a href="Poco.URI.html" title="class Poco::URI">URI</a> from its parts. </p>
</div>
<h3><a name="11377">URI</a></h3>
<p class="decl"><a href="Poco.URI.html" title="class Poco::URI">URI</a>(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; scheme,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; authority,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; path,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; query,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; fragment<br />);</p>
<div class="description">
<p>Creates an <a href="Poco.URI.html" title="class Poco::URI">URI</a> from its parts. </p>
</div>
<h2>Destructor</h2>
<h3><a name="11388">~URI</a></h3>
<p class="decl">~<a href="Poco.URI.html" title="class Poco::URI">URI</a>();</p>
<div class="description">
<p>Destroys the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h2>Member Functions</h2>
<h3><a name="11397">clear</a></h3>
<p class="decl">void clear();</p>
<div class="description">
<p>Clears all parts of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11451">decode</a> <img src="images/static.gif" alt="static" title="static" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">static void decode(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; str,<br />&nbsp;&nbsp;&nbsp;&nbsp;std::string &amp; decodedStr<br />);</p>
<div class="description">
<p><a href="Poco.URI.html" title="class Poco::URI">URI</a>-decodes the given string by replacing percent-encoded characters with the actual character. The decoded string is appended to decodedStr. </p>
</div>
<h3><a name="11435">empty</a></h3>
<p class="decl">bool empty() const;</p>
<div class="description">
<p>Returns true if the <a href="Poco.URI.html" title="class Poco::URI">URI</a> is empty, false otherwise. </p>
</div>
<h3><a name="11447">encode</a> <img src="images/static.gif" alt="static" title="static" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">static void encode(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; str,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; reserved,<br />&nbsp;&nbsp;&nbsp;&nbsp;std::string &amp; encodedStr<br />);</p>
<div class="description">
<p><a href="Poco.URI.html" title="class Poco::URI">URI</a>-encodes the given string by escaping reserved and non-ASCII characters. The encoded string is appended to encodedStr. </p>
</div>
<h3><a name="11411">getAuthority</a></h3>
<p class="decl">std::string getAuthority() const;</p>
<div class="description">
<p>Returns the authority part (userInfo, host and port) of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>.  </p>
<p>If the port number is a well-known port number for the given scheme (e.g., 80 for http), it is not included in the authority. </p>
</div>
<h3><a name="11423">getFragment</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">const std::string &amp; getFragment() const;</p>
<div class="description">
<p>Returns the fragment part of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11405">getHost</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">const std::string &amp; getHost() const;</p>
<div class="description">
<p>Returns the host part of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11414">getPath</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">const std::string &amp; getPath() const;</p>
<div class="description">
<p>Returns the path part of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11429">getPathAndQuery</a></h3>
<p class="decl">std::string getPathAndQuery() const;</p>
<div class="description">
<p>Returns the path and query parts of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>.	 </p>
</div>
<h3><a name="11428">getPathEtc</a></h3>
<p class="decl">std::string getPathEtc() const;</p>
<div class="description">
<p>Returns the path, query and fragment parts of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11445">getPathSegments</a></h3>
<p class="decl">void getPathSegments(<br />&nbsp;&nbsp;&nbsp;&nbsp;std::vector &lt; std::string &gt; &amp; segments<br />);</p>
<div class="description">
<p>Places the single path segments (delimited by slashes) into the given vector. </p>
</div>
<h3><a name="11408">getPort</a></h3>
<p class="decl">unsigned short getPort() const;</p>
<div class="description">
<p>Returns the port number part of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
<p>If no port number (0) has been specified, the well-known port number (e.g., 80 for http) for the given scheme is returned if it is known. Otherwise, 0 is returned. </p>
</div>
<h3><a name="11417">getQuery</a></h3>
<p class="decl">std::string getQuery() const;</p>
<div class="description">
<p>Returns the query part of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11420">getRawQuery</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">const std::string &amp; getRawQuery() const;</p>
<div class="description">
<p>Returns the unencoded query part of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11399">getScheme</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">const std::string &amp; getScheme() const;</p>
<div class="description">
<p>Returns the scheme part of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11402">getUserInfo</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">const std::string &amp; getUserInfo() const;</p>
<div class="description">
<p>Returns the user-info part of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11434">isRelative</a></h3>
<p class="decl">bool isRelative() const;</p>
<div class="description">
<p>Returns true if the <a href="Poco.URI.html" title="class Poco::URI">URI</a> is a relative reference, false otherwise. </p>
<p>A relative reference does not contain a scheme identifier. Relative references are usually resolved against an absolute base reference. </p>
</div>
<h3><a name="11444">normalize</a></h3>
<p class="decl">void normalize();</p>
<div class="description">
<p>Normalizes the <a href="Poco.URI.html" title="class Poco::URI">URI</a> by removing all but leading . and .. segments from the path. </p>
<p>If the first path segment in a relative path contains a colon (:),  such as in a Windows path containing a drive letter, a dot segment (./)  is prepended in accordance with section 3.3 of <a href="http://www.ietf.org/rfc/rfc3986.txt" target="_blank">RFC 3986</a>. </p>
</div>
<h3><a name="11440">operator !=</a></h3>
<p class="decl">bool operator != (<br />&nbsp;&nbsp;&nbsp;&nbsp;const <a href="Poco.URI.html" title="class Poco::URI">URI</a> &amp; uri<br />) const;</p>
<div class="description">
<p>Returns true if both URIs are identical, false otherwise. </p>
</div>
<h3><a name="11442">operator !=</a></h3>
<p class="decl">bool operator != (<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; uri<br />) const;</p>
<div class="description">
<p>Parses the given <a href="Poco.URI.html" title="class Poco::URI">URI</a> and returns true if both URIs are identical, false otherwise. </p>
</div>
<h3><a name="11389">operator =</a></h3>
<p class="decl"><a href="Poco.URI.html" title="class Poco::URI">URI</a> &amp; operator = (<br />&nbsp;&nbsp;&nbsp;&nbsp;const <a href="Poco.URI.html" title="class Poco::URI">URI</a> &amp; uri<br />);</p>
<div class="description">
<p>Assignment operator. </p>
</div>
<h3><a name="11391">operator =</a></h3>
<p class="decl"><a href="Poco.URI.html" title="class Poco::URI">URI</a> &amp; operator = (<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; uri<br />);</p>
<div class="description">
<p>Parses and assigns an <a href="Poco.URI.html" title="class Poco::URI">URI</a> from the given string. Throws a <a href="Poco.SyntaxException.html" title="class Poco::SyntaxException">SyntaxException</a> if the uri is not valid. </p>
</div>
<h3><a name="11393">operator =</a></h3>
<p class="decl"><a href="Poco.URI.html" title="class Poco::URI">URI</a> &amp; operator = (<br />&nbsp;&nbsp;&nbsp;&nbsp;const char * uri<br />);</p>
<div class="description">
<p>Parses and assigns an <a href="Poco.URI.html" title="class Poco::URI">URI</a> from the given string. Throws a <a href="Poco.SyntaxException.html" title="class Poco::SyntaxException">SyntaxException</a> if the uri is not valid. </p>
</div>
<h3><a name="11436">operator ==</a></h3>
<p class="decl">bool operator == (<br />&nbsp;&nbsp;&nbsp;&nbsp;const <a href="Poco.URI.html" title="class Poco::URI">URI</a> &amp; uri<br />) const;</p>
<div class="description">
<p>Returns true if both URIs are identical, false otherwise. </p>
<p>Two URIs are identical if their scheme, authority, path, query and fragment part are identical. </p>
</div>
<h3><a name="11438">operator ==</a></h3>
<p class="decl">bool operator == (<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; uri<br />) const;</p>
<div class="description">
<p>Parses the given <a href="Poco.URI.html" title="class Poco::URI">URI</a> and returns true if both URIs are identical, false otherwise. </p>
</div>
<h3><a name="11430">resolve</a></h3>
<p class="decl">void resolve(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; relativeURI<br />);</p>
<div class="description">
<p>Resolves the given relative <a href="Poco.URI.html" title="class Poco::URI">URI</a> against the base <a href="Poco.URI.html" title="class Poco::URI">URI</a>. See section 5.2 of <a href="http://www.ietf.org/rfc/rfc3986.txt" target="_blank">RFC 3986</a> for the algorithm used. </p>
</div>
<h3><a name="11432">resolve</a></h3>
<p class="decl">void resolve(<br />&nbsp;&nbsp;&nbsp;&nbsp;const <a href="Poco.URI.html" title="class Poco::URI">URI</a> &amp; relativeURI<br />);</p>
<div class="description">
<p>Resolves the given relative <a href="Poco.URI.html" title="class Poco::URI">URI</a> against the base <a href="Poco.URI.html" title="class Poco::URI">URI</a>. See section 5.2 of <a href="http://www.ietf.org/rfc/rfc3986.txt" target="_blank">RFC 3986</a> for the algorithm used. </p>
</div>
<h3><a name="11412">setAuthority</a></h3>
<p class="decl">void setAuthority(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; authority<br />);</p>
<div class="description">
<p>Parses the given authority part for the <a href="Poco.URI.html" title="class Poco::URI">URI</a> and sets the user-info, host, port components accordingly. </p>
</div>
<h3><a name="11424">setFragment</a></h3>
<p class="decl">void setFragment(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; fragment<br />);</p>
<div class="description">
<p>Sets the fragment part of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11406">setHost</a></h3>
<p class="decl">void setHost(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; host<br />);</p>
<div class="description">
<p>Sets the host part of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11415">setPath</a></h3>
<p class="decl">void setPath(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; path<br />);</p>
<div class="description">
<p>Sets the path part of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11426">setPathEtc</a></h3>
<p class="decl">void setPathEtc(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; pathEtc<br />);</p>
<div class="description">
<p>Sets the path, query and fragment parts of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11409">setPort</a></h3>
<p class="decl">void setPort(<br />&nbsp;&nbsp;&nbsp;&nbsp;unsigned short port<br />);</p>
<div class="description">
<p>Sets the port number part of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11418">setQuery</a></h3>
<p class="decl">void setQuery(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; query<br />);</p>
<div class="description">
<p>Sets the query part of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11421">setRawQuery</a></h3>
<p class="decl">void setRawQuery(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; query<br />);</p>
<div class="description">
<p>Sets the query part of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11400">setScheme</a></h3>
<p class="decl">void setScheme(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; scheme<br />);</p>
<div class="description">
<p>Sets the scheme part of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. The given scheme is converted to lower-case. </p>
<p>A list of registered <a href="Poco.URI.html" title="class Poco::URI">URI</a> schemes can be found at &lt;<a href="http://www.iana.org/assignments/uri-schemes" target="_blank">http://www.iana.org/assignments/uri-schemes</a>&gt;. </p>
</div>
<h3><a name="11403">setUserInfo</a></h3>
<p class="decl">void setUserInfo(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; userInfo<br />);</p>
<div class="description">
<p>Sets the user-info part of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
</div>
<h3><a name="11395">swap</a></h3>
<p class="decl">void swap(<br />&nbsp;&nbsp;&nbsp;&nbsp;<a href="Poco.URI.html" title="class Poco::URI">URI</a> &amp; uri<br />);</p>
<div class="description">
<p>Swaps the <a href="Poco.URI.html" title="class Poco::URI">URI</a> with another one.	 </p>
</div>
<h3><a name="11398">toString</a></h3>
<p class="decl">std::string toString() const;</p>
<div class="description">
<p>Returns a string representation of the <a href="Poco.URI.html" title="class Poco::URI">URI</a>. </p>
<p>Characters in the path, query and fragment parts will be  percent-encoded as necessary. </p>
</div>
<h3><a name="11485">buildPath</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">void buildPath(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::vector &lt; std::string &gt; &amp; segments,<br />&nbsp;&nbsp;&nbsp;&nbsp;bool leadingSlash,<br />&nbsp;&nbsp;&nbsp;&nbsp;bool trailingSlash<br />);</p>
<div class="description">
<p>Builds the path from the given segments. </p>
</div>
<h3><a name="11454">equals</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">bool equals(<br />&nbsp;&nbsp;&nbsp;&nbsp;const <a href="Poco.URI.html" title="class Poco::URI">URI</a> &amp; uri<br />) const;</p>
<div class="description">
<p>Returns true if both uri's are equivalent. </p>
</div>
<h3><a name="11482">getPathSegments</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" />  <img src="images/static.gif" alt="static" title="static" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">static void getPathSegments(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; path,<br />&nbsp;&nbsp;&nbsp;&nbsp;std::vector &lt; std::string &gt; &amp; segments<br />);</p>
<div class="description">
<p>Places the single path segments (delimited by slashes) into the given vector. </p>
</div>
<h3><a name="11457">getWellKnownPort</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">unsigned short getWellKnownPort() const;</p>
<div class="description">
<p>Returns the well-known port number for the <a href="Poco.URI.html" title="class Poco::URI">URI</a>'s scheme, or 0 if the port number is not known. </p>
</div>
<h3><a name="11456">isWellKnownPort</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">bool isWellKnownPort() const;</p>
<div class="description">
<p>Returns true if the <a href="Poco.URI.html" title="class Poco::URI">URI</a>'s port number is a well-known one (for example, 80, if the scheme is http). </p>
</div>
<h3><a name="11478">mergePath</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">void mergePath(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; path<br />);</p>
<div class="description">
<p>Appends a path to the <a href="Poco.URI.html" title="class Poco::URI">URI</a>'s path. </p>
</div>
<h3><a name="11458">parse</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">void parse(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; uri<br />);</p>
<div class="description">
<p>Parses and assigns an <a href="Poco.URI.html" title="class Poco::URI">URI</a> from the given string. Throws a <a href="Poco.SyntaxException.html" title="class Poco::SyntaxException">SyntaxException</a> if the uri is not valid. </p>
</div>
<h3><a name="11460">parseAuthority</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">void parseAuthority(<br />&nbsp;&nbsp;&nbsp;&nbsp;std::string::const_iterator &amp; it,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string::const_iterator &amp; end<br />);</p>
<div class="description">
<p>Parses and sets the user-info, host and port from the given data. </p>
</div>
<h3><a name="11475">parseFragment</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">void parseFragment(<br />&nbsp;&nbsp;&nbsp;&nbsp;std::string::const_iterator &amp; it,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string::const_iterator &amp; end<br />);</p>
<div class="description">
<p>Parses and sets the fragment from the given data. </p>
</div>
<h3><a name="11463">parseHostAndPort</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">void parseHostAndPort(<br />&nbsp;&nbsp;&nbsp;&nbsp;std::string::const_iterator &amp; it,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string::const_iterator &amp; end<br />);</p>
<div class="description">
<p>Parses and sets the host and port from the given data. </p>
</div>
<h3><a name="11466">parsePath</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">void parsePath(<br />&nbsp;&nbsp;&nbsp;&nbsp;std::string::const_iterator &amp; it,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string::const_iterator &amp; end<br />);</p>
<div class="description">
<p>Parses and sets the path from the given data. </p>
</div>
<h3><a name="11469">parsePathEtc</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">void parsePathEtc(<br />&nbsp;&nbsp;&nbsp;&nbsp;std::string::const_iterator &amp; it,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string::const_iterator &amp; end<br />);</p>
<div class="description">
<p>Parses and sets the path, query and fragment from the given data. </p>
</div>
<h3><a name="11472">parseQuery</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">void parseQuery(<br />&nbsp;&nbsp;&nbsp;&nbsp;std::string::const_iterator &amp; it,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string::const_iterator &amp; end<br />);</p>
<div class="description">
<p>Parses and sets the query from the given data. </p>
</div>
<h3><a name="11480">removeDotSegments</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">void removeDotSegments(<br />&nbsp;&nbsp;&nbsp;&nbsp;bool removeLeading = true<br />);</p>
<div class="description">
<p>Removes all dot segments from the path. </p>
</div>
<h2>Variables</h2>
<h3><a name="11492">ILLEGAL</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" />  <img src="images/static.gif" alt="static" title="static" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">static const std::string <a href="Poco.URI.html#11492" title="Poco::URI::ILLEGAL">ILLEGAL</a>;</p>
<div class="description">
<p></p>
</div>
<h3><a name="11491">RESERVED_FRAGMENT</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" />  <img src="images/static.gif" alt="static" title="static" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">static const std::string <a href="Poco.URI.html#11491" title="Poco::URI::RESERVED_FRAGMENT">RESERVED_FRAGMENT</a>;</p>
<div class="description">
<p></p>
</div>
<h3><a name="11489">RESERVED_PATH</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" />  <img src="images/static.gif" alt="static" title="static" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">static const std::string <a href="Poco.URI.html#11489" title="Poco::URI::RESERVED_PATH">RESERVED_PATH</a>;</p>
<div class="description">
<p></p>
</div>
<h3><a name="11490">RESERVED_QUERY</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" />  <img src="images/static.gif" alt="static" title="static" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">static const std::string <a href="Poco.URI.html#11490" title="Poco::URI::RESERVED_QUERY">RESERVED_QUERY</a>;</p>
<div class="description">
<p></p>
</div>
<p class="footer">POCO C++ Libraries 1.3.6-all<br />
Copyright &copy; 2009, <a href="http://pocoproject.org/" target="_blank">Applied Informatics Software Engineering GmbH and Contributors</a></p>

</div>
</body>
</html>