Sophie

Sophie

distrib > Mandriva > current > i586 > media > main-updates > by-pkgid > ed376d6842ea322c25405e7c23b3bc12 > files > 430

libcommoncpp-devel-1.8.0-5.1mdv2010.1.i586.rpm

<!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>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>GNU CommonC++: ost::URLStream Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceost.html">ost</a>::<a class="el" href="classost_1_1_u_r_l_stream.html">URLStream</a>
  </div>
</div>
<div class="contents">
<h1>ost::URLStream Class Reference</h1><!-- doxytag: class="ost::URLStream" --><!-- doxytag: inherits="ost::TCPStream" -->
<p>A URL processing version of <a class="el" href="classost_1_1_t_c_p_stream.html" title="TCP streams are used to represent TCP client connections to a server by TCP protocol...">TCPStream</a>.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="url_8h_source.html">url.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ost::URLStream:</div>
<div class="dynsection">
 <div class="center">
  <img src="classost_1_1_u_r_l_stream.png" usemap="#ost::URLStream_map" alt=""/>
  <map id="ost::URLStream_map" name="ost::URLStream_map">
<area href="classost_1_1_t_c_p_stream.html" alt="ost::TCPStream" shape="rect" coords="0,56,97,80"/>
<area href="classost_1_1_socket.html" alt="ost::Socket" shape="rect" coords="0,0,97,24"/>
</map>
 </div>
</div>

<p><a href="classost_1_1_u_r_l_stream-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a3cbe53f1c34d7fdbd73efa61edbf463d">Error</a> { <br/>
&nbsp;&nbsp;<a class="el" href="classost_1_1_u_r_l_stream.html#a3cbe53f1c34d7fdbd73efa61edbf463dac62812a83036760789cfd3e7a9bc6d8a">errSuccess</a> =  0, 
<a class="el" href="classost_1_1_u_r_l_stream.html#a3cbe53f1c34d7fdbd73efa61edbf463daf690302fea53223ececff5a18e51583a">errUnreachable</a>, 
<a class="el" href="classost_1_1_u_r_l_stream.html#a3cbe53f1c34d7fdbd73efa61edbf463daef5c1670971fe8bff9815517c7dcc037">errMissing</a>, 
<a class="el" href="classost_1_1_u_r_l_stream.html#a3cbe53f1c34d7fdbd73efa61edbf463daa77932a4f73745c190b31ecb89d9e6b1">errDenied</a>, 
<br/>
&nbsp;&nbsp;<a class="el" href="classost_1_1_u_r_l_stream.html#a3cbe53f1c34d7fdbd73efa61edbf463dad7f27e58273752137f7a7b3cc01510d6">errInvalid</a>, 
<a class="el" href="classost_1_1_u_r_l_stream.html#a3cbe53f1c34d7fdbd73efa61edbf463dae41d04b4cb317042ce2ec23046412653">errForbidden</a>, 
<a class="el" href="classost_1_1_u_r_l_stream.html#a3cbe53f1c34d7fdbd73efa61edbf463dacc7a5df261dd3d70610e6eea026c6588">errUnauthorized</a>, 
<a class="el" href="classost_1_1_u_r_l_stream.html#a3cbe53f1c34d7fdbd73efa61edbf463da72120616b8963ff2483777bd48e299b7">errRelocated</a>, 
<br/>
&nbsp;&nbsp;<a class="el" href="classost_1_1_u_r_l_stream.html#a3cbe53f1c34d7fdbd73efa61edbf463daff2ca7bfdf0273907dd2dff07364488f">errFailure</a>, 
<a class="el" href="classost_1_1_u_r_l_stream.html#a3cbe53f1c34d7fdbd73efa61edbf463da21538f6d1947b30d11d846c16071a9bb">errTimeout</a>, 
<a class="el" href="classost_1_1_u_r_l_stream.html#a3cbe53f1c34d7fdbd73efa61edbf463daec1aca8ce804c335c96851289b049d03">errInterface</a>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Return error for url fetch. </p>
 <a href="classost_1_1_u_r_l_stream.html#a3cbe53f1c34d7fdbd73efa61edbf463d">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a0c2c4056104cc9cfb500d7be3a791279">Authentication</a> { <a class="el" href="classost_1_1_u_r_l_stream.html#a0c2c4056104cc9cfb500d7be3a791279a204cc2bcd2b2bbc6528b5a025bbb0220">authAnonymous</a> =  0, 
<a class="el" href="classost_1_1_u_r_l_stream.html#a0c2c4056104cc9cfb500d7be3a791279af77c47d3ed840ec1331290d52305d467">authBasic</a>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Type of authentication. </p>
 <a href="classost_1_1_u_r_l_stream.html#a0c2c4056104cc9cfb500d7be3a791279">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a29c5e2bbdebac341382d346331fff074">Encoding</a> { <a class="el" href="classost_1_1_u_r_l_stream.html#a29c5e2bbdebac341382d346331fff074aef8e17e51287cfc9b832a82c601522d6">encodingBinary</a> =  0, 
<a class="el" href="classost_1_1_u_r_l_stream.html#a29c5e2bbdebac341382d346331fff074a8917153dcf23a2767a57b8058dfd7307">encodingChunked</a>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Encoding used in transfer. </p>
 <a href="classost_1_1_u_r_l_stream.html#a29c5e2bbdebac341382d346331fff074">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a63b25c99eb1c2813d92f52b15be7368a">Method</a> { <br/>
&nbsp;&nbsp;<a class="el" href="classost_1_1_u_r_l_stream.html#a63b25c99eb1c2813d92f52b15be7368aa8cdf141da33c9075e8f748ff046bb55d">methodHttpGet</a>, 
<a class="el" href="classost_1_1_u_r_l_stream.html#a63b25c99eb1c2813d92f52b15be7368aaf3576348551d07b247f0b87d62586edf">methodHttpPut</a>, 
<a class="el" href="classost_1_1_u_r_l_stream.html#a63b25c99eb1c2813d92f52b15be7368aa331fbf2811a54db820d153f3f26f866b">methodHttpPost</a>, 
<a class="el" href="classost_1_1_u_r_l_stream.html#a63b25c99eb1c2813d92f52b15be7368aa07a740f3cdd68a98892644577cd844c8">methodHttpPostMultipart</a>, 
<br/>
&nbsp;&nbsp;<a class="el" href="classost_1_1_u_r_l_stream.html#a63b25c99eb1c2813d92f52b15be7368aa415d881a560624fccbc466fce0033b59">methodFtpGet</a>, 
<a class="el" href="classost_1_1_u_r_l_stream.html#a63b25c99eb1c2813d92f52b15be7368aa45c039f1f93d87536ebacdfc867a7491">methodFtpPut</a>, 
<a class="el" href="classost_1_1_u_r_l_stream.html#a63b25c99eb1c2813d92f52b15be7368aa8e4e3cd2ca28b4c974562f917d60e7d6">methodFileGet</a>, 
<a class="el" href="classost_1_1_u_r_l_stream.html#a63b25c99eb1c2813d92f52b15be7368aaa5d783eebb656045bcbe036a0ec0319b">methodFilePut</a>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Type of fetch. </p>
 <a href="classost_1_1_u_r_l_stream.html#a63b25c99eb1c2813d92f52b15be7368a">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a368c822b755fd439f9a3293effddab5d">Protocol</a> { <a class="el" href="classost_1_1_u_r_l_stream.html#a368c822b755fd439f9a3293effddab5da0529a99019ed5fc43547f186fa700196">protocolHttp1_0</a>, 
<a class="el" href="classost_1_1_u_r_l_stream.html#a368c822b755fd439f9a3293effddab5dabacbdcd166dd2cc9163c397b29085b89">protocolHttp1_1</a>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>http protocol version </p>
 <a href="classost_1_1_u_r_l_stream.html#a368c822b755fd439f9a3293effddab5d">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#ad67d5e0124b147ea3c1d70dc0fe8c342">URLStream</a> (<a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206ef">Family</a> <a class="el" href="classost_1_1_t_c_p_stream.html#aecc5f6b34232ba0fef048f53fdaa51fc">family</a>=IPV4, <a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timer=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an instance of URL stream.  <a href="#ad67d5e0124b147ea3c1d70dc0fe8c342"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_u_r_l_stream.html">URLStream</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a1cc1b56965c6ce7933c759acb4633853">getline</a> (char *buffer, size_t len)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Line parsing with conversion.  <a href="#a1cc1b56965c6ce7933c759acb4633853"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a245cb360d2b18e1cb8373605814db713">get</a> (const char *url, size_t buffer=512)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get URL data from a named stream of a known buffer size.  <a href="#a245cb360d2b18e1cb8373605814db713"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a750919d1c6bd4e63d7b599381e4f7f42">get</a> (size_t buffer=512)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get URL data from a named stream of a known buffer size.  <a href="#a750919d1c6bd4e63d7b599381e4f7f42"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#ad66079132c3049a8def80b5612d80504">submit</a> (const char *url, const char **vars, size_t buffer=512)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Submit URL with vars passed as argument array.  <a href="#ad66079132c3049a8def80b5612d80504"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#aee618168078e0d73898999cf4ab08515">post</a> (const char *url, const char **vars, size_t buffer=512)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Post URL vars with post method.  <a href="#aee618168078e0d73898999cf4ab08515"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#aa12798695f134f7d00b62ce79fa1f405">post</a> (const char *url, <a class="el" href="classost_1_1_m_i_m_e_multipart_form.html">MIMEMultipartForm</a> &amp;form, size_t buffer=512)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Post URL with MIME multipart form.  <a href="#aa12798695f134f7d00b62ce79fa1f405"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a5be7627983cd722404fc1c5e69d2a427">head</a> (const char *url, size_t buffer=512)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used to fetch header information for a resource.  <a href="#a5be7627983cd722404fc1c5e69d2a427"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a4fbfcee3df6cfcd425395a0ec98006c8">close</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close the URL stream for a new connection.  <a href="#a4fbfcee3df6cfcd425395a0ec98006c8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#aab5fe86079a3d60998b7c036e48af46e">setReferer</a> (const char *str)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the referer url.  <a href="#aab5fe86079a3d60998b7c036e48af46e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a41fe1fab3e180ab32984558452375864">setHost</a> (const char *str)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the host for the url.  <a href="#a41fe1fab3e180ab32984558452375864"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#ade0f87919bff65f5872f79ef1fb9b250">setAddress</a> (const char *str)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the address for the url.  <a href="#ade0f87919bff65f5872f79ef1fb9b250"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a6ab058ec31630125b4d22874f72b2e5e">setCookie</a> (const char *str)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the cookie to pass.  <a href="#a6ab058ec31630125b4d22874f72b2e5e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a8471a2d492c4bb37bbb406965b0d19ea">setUser</a> (const char *str)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set user id for the url.  <a href="#a8471a2d492c4bb37bbb406965b0d19ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a3a85d06cbfa3206b47ba4623051ccf7c">setPassword</a> (const char *str)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set password for the url.  <a href="#a3a85d06cbfa3206b47ba4623051ccf7c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#aa6bed72b5a47a805057e3f8318fd21f7">setAuthentication</a> (<a class="el" href="classost_1_1_u_r_l_stream.html#a0c2c4056104cc9cfb500d7be3a791279">Authentication</a> a, const char *str=NULL)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set authentication type for the url.  <a href="#aa6bed72b5a47a805057e3f8318fd21f7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#aab90935c27dd3d5a3987174b085b4769">setProxyUser</a> (const char *str)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set proxy user id for the url.  <a href="#aab90935c27dd3d5a3987174b085b4769"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a14621652a8c864bcebece2155326db3a">setProxyPassword</a> (const char *str)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set proxy password for the url.  <a href="#a14621652a8c864bcebece2155326db3a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a8e41f12ed9d4128c9cded18a11eb499e">setProxyAuthentication</a> (<a class="el" href="classost_1_1_u_r_l_stream.html#a0c2c4056104cc9cfb500d7be3a791279">Authentication</a> a, const char *str=NULL)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set proxy authentication type for the url.  <a href="#a8e41f12ed9d4128c9cded18a11eb499e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a840da2832dc45d5fb500af34d1e7c1d6">setPragma</a> (const char *str)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the pragmas.  <a href="#a840da2832dc45d5fb500af34d1e7c1d6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a9ea810e793a91182058b75af8c94b21c">setProxy</a> (const char *host, <a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a> port)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the proxy server used.  <a href="#a9ea810e793a91182058b75af8c94b21c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a81286e908399824ddc0ddef398850786">setAgent</a> (const char *str)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the agent.  <a href="#a81286e908399824ddc0ddef398850786"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_u_r_l_stream.html#a63b25c99eb1c2813d92f52b15be7368a">Method</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#ab1f293e945445bf93183e0670052b00f">getMethod</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get url method (and protocol) employed.  <a href="#ab1f293e945445bf93183e0670052b00f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a82863fbf49c6095877c2147a670e3e71">setTimeout</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> to)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set socket timeout characteristics for processing URL requests.  <a href="#a82863fbf49c6095877c2147a670e3e71"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a9fbf94d5de3e2d293d6ec6101c519055">setFollow</a> (bool enable)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specify url following.  <a href="#a9fbf94d5de3e2d293d6ec6101c519055"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#aec7ab9ffee3a1efd10209f77de75ab3b">setProtocol</a> (<a class="el" href="classost_1_1_u_r_l_stream.html#a368c822b755fd439f9a3293effddab5d">Protocol</a> pro)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specify http protocol level being used.  <a href="#aec7ab9ffee3a1efd10209f77de75ab3b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a07915e0717ed8670a4a733bc94e8944c">setLocalInterface</a> (const char *intf)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specify local interface to use.  <a href="#a07915e0717ed8670a4a733bc94e8944c"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a4e4680cdb90d8187b9d1f7e58e8b84e3">sendHTTPHeader</a> (const char *url, const char **vars, size_t <a class="el" href="classost_1_1_t_c_p_stream.html#a1eb7fe5844a5c0a5708d658187e9839b">bufsize</a>)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send http header to server.  <a href="#a4e4680cdb90d8187b9d1f7e58e8b84e3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a0dc12a6f57c7ba5d05988dcc12fd41cf">underflow</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called if stream buffer needs refilling.  <a href="#a0dc12a6f57c7ba5d05988dcc12fd41cf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a8ed0d235e64866b6cc4b8c7eeb70c241">aRead</a> (char *buffer, size_t len, <a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timer)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Derived method for async or timed I/O function on url stream.  <a href="#a8ed0d235e64866b6cc4b8c7eeb70c241"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#aca550e5cad45a8491f3263e1e3a66df0">aWrite</a> (char *buffer, size_t len, <a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timer)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Derived method for async or timed I/O function on url stream.  <a href="#aca550e5cad45a8491f3263e1e3a66df0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a353ff6fd2ffb296082e357e45b53632e">httpHeader</a> (const char *header, const char *value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Derived method to receive and parse http "headers".  <a href="#a353ff6fd2ffb296082e357e45b53632e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual char **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a9a7286f877eaf5dcd76479450635ea22">extraHeader</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A virtual to insert additional header info into the request.  <a href="#a9a7286f877eaf5dcd76479450635ea22"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_string.html">ost::String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a8470768c9bdad61e65de940194670932">m_host</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_string.html">ost::String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#ac4b599ef4b443e4701fa3a42eada0894">m_address</a></td></tr>
<tr><td colspan="2"><h2>Related Functions</h2></td></tr>
<tr><td colspan="2"><p>(Note that these are not member functions.) </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a04843a8d3082ada80d279f51ddcc31a9">urlDecode</a> (char *source, char *dest=NULL)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a9813b0012b7290fc76ad635a21c4b35e">urlEncode</a> (const char *source, char *dest, size_t size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a2f718746a33aee876b221bcf68df3d15">b64Decode</a> (char *src, char *dest=NULL)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a3f1d6609018865ebf2719bb0394b787e">b64Encode</a> (const char *source, char *dest, size_t size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#ac0cc4b4f26bbd0034d256db28bb1a1a0">b64Encode</a> (const unsigned char *src, size_t srcsize, char *dst, size_t dstsize)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a43dd905fcdff5a53d5635c7dce145bb8">b64Decode</a> (const char *src, unsigned char *dst, size_t dstsize)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_string.html">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a2432e3ce01bd3541272c6148edaf6a2d">b64Encode</a> (const <a class="el" href="classost_1_1_string.html">String</a> &amp;src)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_string.html">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a95b615f7d86cd92e6f22b73c1aa4750e">b64Decode</a> (const <a class="el" href="classost_1_1_string.html">String</a> &amp;src)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_string.html">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a38348587677d0aa8b1a4d0b20bbbfba3">b64Encode</a> (const unsigned char *src, size_t srcsize)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_u_r_l_stream.html#a84d15563c2aed59d6ec8572b14c092ca">b64Decode</a> (const <a class="el" href="classost_1_1_string.html">String</a> &amp;src, unsigned char *dst, size_t dstsize)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A URL processing version of <a class="el" href="classost_1_1_t_c_p_stream.html" title="TCP streams are used to represent TCP client connections to a server by TCP protocol...">TCPStream</a>. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>David Sugar &lt;<a href="mailto:dyfet@ostel.com">dyfet@ostel.com</a>&gt; C++ url processing stream class. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd>
<p><a class="el" href="urlfetch_8cpp-example.html#_a0">urlfetch.cpp</a>, and <a class="el" href="xmlfetch_8cpp-example.html#_a0">xmlfetch.cpp</a>.</p>
</dd>
</dl><hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a0c2c4056104cc9cfb500d7be3a791279"></a><!-- doxytag: member="ost::URLStream::Authentication" ref="a0c2c4056104cc9cfb500d7be3a791279" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classost_1_1_u_r_l_stream.html#a0c2c4056104cc9cfb500d7be3a791279">ost::URLStream::Authentication</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Type of authentication. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a0c2c4056104cc9cfb500d7be3a791279a204cc2bcd2b2bbc6528b5a025bbb0220"></a><!-- doxytag: member="authAnonymous" ref="a0c2c4056104cc9cfb500d7be3a791279a204cc2bcd2b2bbc6528b5a025bbb0220" args="" -->authAnonymous</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0c2c4056104cc9cfb500d7be3a791279af77c47d3ed840ec1331290d52305d467"></a><!-- doxytag: member="authBasic" ref="a0c2c4056104cc9cfb500d7be3a791279af77c47d3ed840ec1331290d52305d467" args="" -->authBasic</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="a29c5e2bbdebac341382d346331fff074"></a><!-- doxytag: member="ost::URLStream::Encoding" ref="a29c5e2bbdebac341382d346331fff074" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classost_1_1_u_r_l_stream.html#a29c5e2bbdebac341382d346331fff074">ost::URLStream::Encoding</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Encoding used in transfer. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a29c5e2bbdebac341382d346331fff074aef8e17e51287cfc9b832a82c601522d6"></a><!-- doxytag: member="encodingBinary" ref="a29c5e2bbdebac341382d346331fff074aef8e17e51287cfc9b832a82c601522d6" args="" -->encodingBinary</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29c5e2bbdebac341382d346331fff074a8917153dcf23a2767a57b8058dfd7307"></a><!-- doxytag: member="encodingChunked" ref="a29c5e2bbdebac341382d346331fff074a8917153dcf23a2767a57b8058dfd7307" args="" -->encodingChunked</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="a3cbe53f1c34d7fdbd73efa61edbf463d"></a><!-- doxytag: member="ost::URLStream::Error" ref="a3cbe53f1c34d7fdbd73efa61edbf463d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classost_1_1_u_r_l_stream.html#a3cbe53f1c34d7fdbd73efa61edbf463d">ost::URLStream::Error</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return error for url fetch. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a3cbe53f1c34d7fdbd73efa61edbf463dac62812a83036760789cfd3e7a9bc6d8a"></a><!-- doxytag: member="errSuccess" ref="a3cbe53f1c34d7fdbd73efa61edbf463dac62812a83036760789cfd3e7a9bc6d8a" args="" -->errSuccess</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a3cbe53f1c34d7fdbd73efa61edbf463daf690302fea53223ececff5a18e51583a"></a><!-- doxytag: member="errUnreachable" ref="a3cbe53f1c34d7fdbd73efa61edbf463daf690302fea53223ececff5a18e51583a" args="" -->errUnreachable</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a3cbe53f1c34d7fdbd73efa61edbf463daef5c1670971fe8bff9815517c7dcc037"></a><!-- doxytag: member="errMissing" ref="a3cbe53f1c34d7fdbd73efa61edbf463daef5c1670971fe8bff9815517c7dcc037" args="" -->errMissing</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a3cbe53f1c34d7fdbd73efa61edbf463daa77932a4f73745c190b31ecb89d9e6b1"></a><!-- doxytag: member="errDenied" ref="a3cbe53f1c34d7fdbd73efa61edbf463daa77932a4f73745c190b31ecb89d9e6b1" args="" -->errDenied</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a3cbe53f1c34d7fdbd73efa61edbf463dad7f27e58273752137f7a7b3cc01510d6"></a><!-- doxytag: member="errInvalid" ref="a3cbe53f1c34d7fdbd73efa61edbf463dad7f27e58273752137f7a7b3cc01510d6" args="" -->errInvalid</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a3cbe53f1c34d7fdbd73efa61edbf463dae41d04b4cb317042ce2ec23046412653"></a><!-- doxytag: member="errForbidden" ref="a3cbe53f1c34d7fdbd73efa61edbf463dae41d04b4cb317042ce2ec23046412653" args="" -->errForbidden</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a3cbe53f1c34d7fdbd73efa61edbf463dacc7a5df261dd3d70610e6eea026c6588"></a><!-- doxytag: member="errUnauthorized" ref="a3cbe53f1c34d7fdbd73efa61edbf463dacc7a5df261dd3d70610e6eea026c6588" args="" -->errUnauthorized</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a3cbe53f1c34d7fdbd73efa61edbf463da72120616b8963ff2483777bd48e299b7"></a><!-- doxytag: member="errRelocated" ref="a3cbe53f1c34d7fdbd73efa61edbf463da72120616b8963ff2483777bd48e299b7" args="" -->errRelocated</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a3cbe53f1c34d7fdbd73efa61edbf463daff2ca7bfdf0273907dd2dff07364488f"></a><!-- doxytag: member="errFailure" ref="a3cbe53f1c34d7fdbd73efa61edbf463daff2ca7bfdf0273907dd2dff07364488f" args="" -->errFailure</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a3cbe53f1c34d7fdbd73efa61edbf463da21538f6d1947b30d11d846c16071a9bb"></a><!-- doxytag: member="errTimeout" ref="a3cbe53f1c34d7fdbd73efa61edbf463da21538f6d1947b30d11d846c16071a9bb" args="" -->errTimeout</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a3cbe53f1c34d7fdbd73efa61edbf463daec1aca8ce804c335c96851289b049d03"></a><!-- doxytag: member="errInterface" ref="a3cbe53f1c34d7fdbd73efa61edbf463daec1aca8ce804c335c96851289b049d03" args="" -->errInterface</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Reimplemented from <a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">ost::Socket</a>.</p>

</div>
</div>
<a class="anchor" id="a63b25c99eb1c2813d92f52b15be7368a"></a><!-- doxytag: member="ost::URLStream::Method" ref="a63b25c99eb1c2813d92f52b15be7368a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classost_1_1_u_r_l_stream.html#a63b25c99eb1c2813d92f52b15be7368a">ost::URLStream::Method</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Type of fetch. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a63b25c99eb1c2813d92f52b15be7368aa8cdf141da33c9075e8f748ff046bb55d"></a><!-- doxytag: member="methodHttpGet" ref="a63b25c99eb1c2813d92f52b15be7368aa8cdf141da33c9075e8f748ff046bb55d" args="" -->methodHttpGet</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a63b25c99eb1c2813d92f52b15be7368aaf3576348551d07b247f0b87d62586edf"></a><!-- doxytag: member="methodHttpPut" ref="a63b25c99eb1c2813d92f52b15be7368aaf3576348551d07b247f0b87d62586edf" args="" -->methodHttpPut</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a63b25c99eb1c2813d92f52b15be7368aa331fbf2811a54db820d153f3f26f866b"></a><!-- doxytag: member="methodHttpPost" ref="a63b25c99eb1c2813d92f52b15be7368aa331fbf2811a54db820d153f3f26f866b" args="" -->methodHttpPost</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a63b25c99eb1c2813d92f52b15be7368aa07a740f3cdd68a98892644577cd844c8"></a><!-- doxytag: member="methodHttpPostMultipart" ref="a63b25c99eb1c2813d92f52b15be7368aa07a740f3cdd68a98892644577cd844c8" args="" -->methodHttpPostMultipart</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a63b25c99eb1c2813d92f52b15be7368aa415d881a560624fccbc466fce0033b59"></a><!-- doxytag: member="methodFtpGet" ref="a63b25c99eb1c2813d92f52b15be7368aa415d881a560624fccbc466fce0033b59" args="" -->methodFtpGet</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a63b25c99eb1c2813d92f52b15be7368aa45c039f1f93d87536ebacdfc867a7491"></a><!-- doxytag: member="methodFtpPut" ref="a63b25c99eb1c2813d92f52b15be7368aa45c039f1f93d87536ebacdfc867a7491" args="" -->methodFtpPut</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a63b25c99eb1c2813d92f52b15be7368aa8e4e3cd2ca28b4c974562f917d60e7d6"></a><!-- doxytag: member="methodFileGet" ref="a63b25c99eb1c2813d92f52b15be7368aa8e4e3cd2ca28b4c974562f917d60e7d6" args="" -->methodFileGet</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a63b25c99eb1c2813d92f52b15be7368aaa5d783eebb656045bcbe036a0ec0319b"></a><!-- doxytag: member="methodFilePut" ref="a63b25c99eb1c2813d92f52b15be7368aaa5d783eebb656045bcbe036a0ec0319b" args="" -->methodFilePut</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="a368c822b755fd439f9a3293effddab5d"></a><!-- doxytag: member="ost::URLStream::Protocol" ref="a368c822b755fd439f9a3293effddab5d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classost_1_1_u_r_l_stream.html#a368c822b755fd439f9a3293effddab5d">ost::URLStream::Protocol</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>http protocol version </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a368c822b755fd439f9a3293effddab5da0529a99019ed5fc43547f186fa700196"></a><!-- doxytag: member="protocolHttp1_0" ref="a368c822b755fd439f9a3293effddab5da0529a99019ed5fc43547f186fa700196" args="" -->protocolHttp1_0</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a368c822b755fd439f9a3293effddab5dabacbdcd166dd2cc9163c397b29085b89"></a><!-- doxytag: member="protocolHttp1_1" ref="a368c822b755fd439f9a3293effddab5dabacbdcd166dd2cc9163c397b29085b89" args="" -->protocolHttp1_1</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad67d5e0124b147ea3c1d70dc0fe8c342"></a><!-- doxytag: member="ost::URLStream::URLStream" ref="ad67d5e0124b147ea3c1d70dc0fe8c342" args="(Family family=IPV4, timeout_t timer=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::URLStream::URLStream </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_socket.html#a36a69681caa020f1abed34ae71d206ef">Family</a>&nbsp;</td>
          <td class="paramname"> <em>family</em> = <code>IPV4</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&nbsp;</td>
          <td class="paramname"> <em>timer</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Construct an instance of URL stream. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>family</em>&nbsp;</td><td>protocol to use. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>for default timeout on I/O operations. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a8ed0d235e64866b6cc4b8c7eeb70c241"></a><!-- doxytag: member="ost::URLStream::aRead" ref="a8ed0d235e64866b6cc4b8c7eeb70c241" args="(char *buffer, size_t len, timeout_t timer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int ost::URLStream::aRead </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&nbsp;</td>
          <td class="paramname"> <em>timer</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Derived method for async or timed I/O function on url stream. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of bytes read or &lt; 0 for error. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>to read stream data into. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>of bytes to read from stream. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>to wait for data in milliseconds. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aca550e5cad45a8491f3263e1e3a66df0"></a><!-- doxytag: member="ost::URLStream::aWrite" ref="aca550e5cad45a8491f3263e1e3a66df0" args="(char *buffer, size_t len, timeout_t timer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int ost::URLStream::aWrite </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&nbsp;</td>
          <td class="paramname"> <em>timer</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Derived method for async or timed I/O function on url stream. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of bytes written or &lt; 0 for error. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>to write stream data from. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>of bytes to write to stream. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>to wait for data in milliseconds. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4fbfcee3df6cfcd425395a0ec98006c8"></a><!-- doxytag: member="ost::URLStream::close" ref="a4fbfcee3df6cfcd425395a0ec98006c8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::close </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Close the URL stream for a new connection. </p>

</div>
</div>
<a class="anchor" id="a9a7286f877eaf5dcd76479450635ea22"></a><!-- doxytag: member="ost::URLStream::extraHeader" ref="a9a7286f877eaf5dcd76479450635ea22" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual char** ost::URLStream::extraHeader </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A virtual to insert additional header info into the request. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>array of header attributes to add. </dd></dl>

</div>
</div>
<a class="anchor" id="a750919d1c6bd4e63d7b599381e4f7f42"></a><!-- doxytag: member="ost::URLStream::get" ref="a750919d1c6bd4e63d7b599381e4f7f42" args="(size_t buffer=512)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a> ost::URLStream::get </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>buffer</em> = <code>512</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get URL data from a named stream of a known buffer size. </p>
<p>Requesting URL defined in previous calls of <a class="el" href="classost_1_1_u_r_l_stream.html#ade0f87919bff65f5872f79ef1fb9b250" title="Set the address for the url.">setAddress()</a> and <a class="el" href="classost_1_1_u_r_l_stream.html#a41fe1fab3e180ab32984558452375864" title="Set the host for the url.">setHost()</a> functions.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>url error code. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>size of buffer. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a245cb360d2b18e1cb8373605814db713"></a><!-- doxytag: member="ost::URLStream::get" ref="a245cb360d2b18e1cb8373605814db713" args="(const char *url, size_t buffer=512)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a> ost::URLStream::get </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>buffer</em> = <code>512</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get URL data from a named stream of a known buffer size. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>url error code. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>url</em>&nbsp;</td><td>name of resource. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>size of buffer. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1cc1b56965c6ce7933c759acb4633853"></a><!-- doxytag: member="ost::URLStream::getline" ref="a1cc1b56965c6ce7933c759acb4633853" args="(char *buffer, size_t len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_u_r_l_stream.html">URLStream</a>&amp; ost::URLStream::getline </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Line parsing with conversion. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="classost_1_1_u_r_l_stream.html" title="A URL processing version of TCPStream.">URLStream</a> object reference. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>to store. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>maximum buffer size. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab1f293e945445bf93183e0670052b00f"></a><!-- doxytag: member="ost::URLStream::getMethod" ref="ab1f293e945445bf93183e0670052b00f" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_u_r_l_stream.html#a63b25c99eb1c2813d92f52b15be7368a">Method</a> ost::URLStream::getMethod </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get url method (and protocol) employed. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>url method in effect. </dd></dl>

</div>
</div>
<a class="anchor" id="a5be7627983cd722404fc1c5e69d2a427"></a><!-- doxytag: member="ost::URLStream::head" ref="a5be7627983cd722404fc1c5e69d2a427" args="(const char *url, size_t buffer=512)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a> ost::URLStream::head </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>buffer</em> = <code>512</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Used to fetch header information for a resource. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>url error code. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>url</em>&nbsp;</td><td>name of resource. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>size of buffer. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a353ff6fd2ffb296082e357e45b53632e"></a><!-- doxytag: member="ost::URLStream::httpHeader" ref="a353ff6fd2ffb296082e357e45b53632e" args="(const char *header, const char *value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ost::URLStream::httpHeader </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>header</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Derived method to receive and parse http "headers". </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>header</em>&nbsp;</td><td>keyword. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>header keyword value. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="urlfetch_8cpp-example.html#a1">urlfetch.cpp</a>, and <a class="el" href="xmlfetch_8cpp-example.html#a2">xmlfetch.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="aa12798695f134f7d00b62ce79fa1f405"></a><!-- doxytag: member="ost::URLStream::post" ref="aa12798695f134f7d00b62ce79fa1f405" args="(const char *url, MIMEMultipartForm &amp;form, size_t buffer=512)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a> ost::URLStream::post </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classost_1_1_m_i_m_e_multipart_form.html">MIMEMultipartForm</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>form</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>buffer</em> = <code>512</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Post URL with MIME multipart form. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>success or error code. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>url</em>&nbsp;</td><td>name of resource being posted. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>form</em>&nbsp;</td><td>multi-part resource. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>size to use. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aee618168078e0d73898999cf4ab08515"></a><!-- doxytag: member="ost::URLStream::post" ref="aee618168078e0d73898999cf4ab08515" args="(const char *url, const char **vars, size_t buffer=512)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a> ost::URLStream::post </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char **&nbsp;</td>
          <td class="paramname"> <em>vars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>buffer</em> = <code>512</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Post URL vars with post method. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>success or error code. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>url</em>&nbsp;</td><td>name of resource being posted. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vars</em>&nbsp;</td><td>to set in post. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>size of buffer. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4e4680cdb90d8187b9d1f7e58e8b84e3"></a><!-- doxytag: member="ost::URLStream::sendHTTPHeader" ref="a4e4680cdb90d8187b9d1f7e58e8b84e3" args="(const char *url, const char **vars, size_t bufsize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a> ost::URLStream::sendHTTPHeader </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char **&nbsp;</td>
          <td class="paramname"> <em>vars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>bufsize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Send http header to server. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>url</em>&nbsp;</td><td>base to send header to </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vars</em>&nbsp;</td><td>to post or use in get method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bufsize</em>&nbsp;</td><td>of stream buffering to use </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>success or class error </dd></dl>

</div>
</div>
<a class="anchor" id="ade0f87919bff65f5872f79ef1fb9b250"></a><!-- doxytag: member="ost::URLStream::setAddress" ref="ade0f87919bff65f5872f79ef1fb9b250" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::setAddress </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the address for the url. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>address in the URL. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a81286e908399824ddc0ddef398850786"></a><!-- doxytag: member="ost::URLStream::setAgent" ref="a81286e908399824ddc0ddef398850786" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::setAgent </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the agent. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>agent value. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa6bed72b5a47a805057e3f8318fd21f7"></a><!-- doxytag: member="ost::URLStream::setAuthentication" ref="aa6bed72b5a47a805057e3f8318fd21f7" args="(Authentication a, const char *str=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::setAuthentication </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_u_r_l_stream.html#a0c2c4056104cc9cfb500d7be3a791279">Authentication</a>&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set authentication type for the url. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>authentication. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>string. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6ab058ec31630125b4d22874f72b2e5e"></a><!-- doxytag: member="ost::URLStream::setCookie" ref="a6ab058ec31630125b4d22874f72b2e5e" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::setCookie </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the cookie to pass. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>cookie string. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9fbf94d5de3e2d293d6ec6101c519055"></a><!-- doxytag: member="ost::URLStream::setFollow" ref="a9fbf94d5de3e2d293d6ec6101c519055" args="(bool enable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::setFollow </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>enable</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Specify url following. </p>
<p>Set to false to disable following of relocation requests.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>enable</em>&nbsp;</td><td>true to enable following. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a41fe1fab3e180ab32984558452375864"></a><!-- doxytag: member="ost::URLStream::setHost" ref="a41fe1fab3e180ab32984558452375864" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::setHost </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the host for the url. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>host address. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a07915e0717ed8670a4a733bc94e8944c"></a><!-- doxytag: member="ost::URLStream::setLocalInterface" ref="a07915e0717ed8670a4a733bc94e8944c" args="(const char *intf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::setLocalInterface </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>intf</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Specify local interface to use. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>intf</em>&nbsp;</td><td>Local interface name </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3a85d06cbfa3206b47ba4623051ccf7c"></a><!-- doxytag: member="ost::URLStream::setPassword" ref="a3a85d06cbfa3206b47ba4623051ccf7c" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::setPassword </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set password for the url. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>password. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a840da2832dc45d5fb500af34d1e7c1d6"></a><!-- doxytag: member="ost::URLStream::setPragma" ref="a840da2832dc45d5fb500af34d1e7c1d6" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::setPragma </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the pragmas. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>pragma setting. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aec7ab9ffee3a1efd10209f77de75ab3b"></a><!-- doxytag: member="ost::URLStream::setProtocol" ref="aec7ab9ffee3a1efd10209f77de75ab3b" args="(Protocol pro)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::setProtocol </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_u_r_l_stream.html#a368c822b755fd439f9a3293effddab5d">Protocol</a>&nbsp;</td>
          <td class="paramname"> <em>pro</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Specify http protocol level being used. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pro</em>&nbsp;</td><td>protocol level. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9ea810e793a91182058b75af8c94b21c"></a><!-- doxytag: member="ost::URLStream::setProxy" ref="a9ea810e793a91182058b75af8c94b21c" args="(const char *host, tpport_t port)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::setProxy </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>host</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a>&nbsp;</td>
          <td class="paramname"> <em>port</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the proxy server used. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>host</em>&nbsp;</td><td>proxy host. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>proxy port. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8e41f12ed9d4128c9cded18a11eb499e"></a><!-- doxytag: member="ost::URLStream::setProxyAuthentication" ref="a8e41f12ed9d4128c9cded18a11eb499e" args="(Authentication a, const char *str=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::setProxyAuthentication </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_u_r_l_stream.html#a0c2c4056104cc9cfb500d7be3a791279">Authentication</a>&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set proxy authentication type for the url. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>authentication. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>string. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a14621652a8c864bcebece2155326db3a"></a><!-- doxytag: member="ost::URLStream::setProxyPassword" ref="a14621652a8c864bcebece2155326db3a" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::setProxyPassword </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set proxy password for the url. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>password. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aab90935c27dd3d5a3987174b085b4769"></a><!-- doxytag: member="ost::URLStream::setProxyUser" ref="aab90935c27dd3d5a3987174b085b4769" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::setProxyUser </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set proxy user id for the url. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>user id. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aab5fe86079a3d60998b7c036e48af46e"></a><!-- doxytag: member="ost::URLStream::setReferer" ref="aab5fe86079a3d60998b7c036e48af46e" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::setReferer </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the referer url. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>referer string. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a82863fbf49c6095877c2147a670e3e71"></a><!-- doxytag: member="ost::URLStream::setTimeout" ref="a82863fbf49c6095877c2147a670e3e71" args="(timeout_t to)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::setTimeout </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&nbsp;</td>
          <td class="paramname"> <em>to</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set socket timeout characteristics for processing URL requests. </p>
<p>Set to 0 for no default timeouts.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>to</em>&nbsp;</td><td>timeout to set. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classost_1_1_t_c_p_stream.html#a1bdf8e7962c57d6086117d5a790ad3f6">ost::TCPStream</a>.</p>

</div>
</div>
<a class="anchor" id="a8471a2d492c4bb37bbb406965b0d19ea"></a><!-- doxytag: member="ost::URLStream::setUser" ref="a8471a2d492c4bb37bbb406965b0d19ea" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::URLStream::setUser </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set user id for the url. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>user id. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad66079132c3049a8def80b5612d80504"></a><!-- doxytag: member="ost::URLStream::submit" ref="ad66079132c3049a8def80b5612d80504" args="(const char *url, const char **vars, size_t buffer=512)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_socket.html#ae056b6dd4f167163083b7ab602fd3f3f">Error</a> ost::URLStream::submit </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char **&nbsp;</td>
          <td class="paramname"> <em>vars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>buffer</em> = <code>512</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Submit URL with vars passed as argument array. </p>
<p>This submit assumes "GET" method. Use "post" member to perform post.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>url error code. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>url</em>&nbsp;</td><td>name of resource. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vars</em>&nbsp;</td><td>to set. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>size of buffer. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0dc12a6f57c7ba5d05988dcc12fd41cf"></a><!-- doxytag: member="ost::URLStream::underflow" ref="a0dc12a6f57c7ba5d05988dcc12fd41cf" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ost::URLStream::underflow </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Called if stream buffer needs refilling. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of bytes refilled or error if &lt; 0 </dd></dl>

<p>Reimplemented from <a class="el" href="classost_1_1_t_c_p_stream.html#a8bba1f2724c35992a48ef7322214a3dc">ost::TCPStream</a>.</p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a84d15563c2aed59d6ec8572b14c092ca"></a><!-- doxytag: member="ost::URLStream::b64Decode" ref="a84d15563c2aed59d6ec8572b14c092ca" args="(const String &amp;src, unsigned char *dst, size_t dstsize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t b64Decode </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classost_1_1_string.html">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>dstsize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Decode a string using base64 coding. Destination size should be at least strlen(src)/4*3. Destination are not string terminated (It's just a octet stream). </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of octets written into destination buffer </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>source string </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>destination octet buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dstsize</em>&nbsp;</td><td>destination buffer size </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a95b615f7d86cd92e6f22b73c1aa4750e"></a><!-- doxytag: member="ost::URLStream::b64Decode" ref="a95b615f7d86cd92e6f22b73c1aa4750e" args="(const String &amp;src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_string.html">String</a> b64Decode </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classost_1_1_string.html">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>src</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Decode a STL string using base64 coding into an STL <a class="el" href="classost_1_1_string.html" title="This is a generic and portable string class.">String</a>. Destination size should be at least strlen(src)/4*3. Destination are not string terminated (It's just a octet stream). </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>decoded string </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>source string </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a43dd905fcdff5a53d5635c7dce145bb8"></a><!-- doxytag: member="ost::URLStream::b64Decode" ref="a43dd905fcdff5a53d5635c7dce145bb8" args="(const char *src, unsigned char *dst, size_t dstsize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t b64Decode </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>dstsize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Decode a string using base64 coding. Destination size should be at least strlen(src)/4*3. Destination are not string terminated (It's just a octet stream). </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of octets written into destination buffer </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>source string </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>destination octet buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dstsize</em>&nbsp;</td><td>destination buffer size </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2f718746a33aee876b221bcf68df3d15"></a><!-- doxytag: member="ost::URLStream::b64Decode" ref="a2f718746a33aee876b221bcf68df3d15" args="(char *src, char *dest=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char * b64Decode </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>dest</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Decode a string using base64 coding. Destination size should be at least strlen(src)+1. Destination will be a string, so is always terminated . This function is deprecated, base64 can use binary source, not only string use overloaded b64Decode. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>string coded </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>source buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>destination buffer. If NULL src is used </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="url1_8cpp-example.html#a1">url1.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a38348587677d0aa8b1a4d0b20bbbfba3"></a><!-- doxytag: member="ost::URLStream::b64Encode" ref="a38348587677d0aa8b1a4d0b20bbbfba3" args="(const unsigned char *src, size_t srcsize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_string.html">String</a> b64Encode </td>
          <td>(</td>
          <td class="paramtype">const unsigned char *&nbsp;</td>
          <td class="paramname"> <em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>srcsize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Encode a octet stream using base64 coding into a STL string </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>base 64 encoded string </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>source buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>srcsize</em>&nbsp;</td><td>source buffer size </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2432e3ce01bd3541272c6148edaf6a2d"></a><!-- doxytag: member="ost::URLStream::b64Encode" ref="a2432e3ce01bd3541272c6148edaf6a2d" args="(const String &amp;src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_string.html">String</a> b64Encode </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classost_1_1_string.html">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>src</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Encode a STL string using base64 coding into a STL string </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>base 64 encoded string </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>source string </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac0cc4b4f26bbd0034d256db28bb1a1a0"></a><!-- doxytag: member="ost::URLStream::b64Encode" ref="ac0cc4b4f26bbd0034d256db28bb1a1a0" args="(const unsigned char *src, size_t srcsize, char *dst, size_t dstsize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t b64Encode </td>
          <td>(</td>
          <td class="paramtype">const unsigned char *&nbsp;</td>
          <td class="paramname"> <em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>srcsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>dstsize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Encode a octet stream using base64 coding. Destination size should be at least (srcsize+2)/3*4+1. Destination will be a string, so is always terminated (unless you pass dstsize == 0). </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of string written not counting terminator </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>source buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>srcsize</em>&nbsp;</td><td>source buffer size </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>destination buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dstsize</em>&nbsp;</td><td>destination buffer size </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3f1d6609018865ebf2719bb0394b787e"></a><!-- doxytag: member="ost::URLStream::b64Encode" ref="a3f1d6609018865ebf2719bb0394b787e" args="(const char *source, char *dest, size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char * b64Encode </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Encode a string using base64 coding. Destination size should be at least strlen(src)/4*3+1. Destination is string terminated. This function is deprecated, coded stream can contain terminator character use overloaded b64Encode instead. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>destination buffer </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>source string </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>destination octet buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>destination buffer size </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="url1_8cpp-example.html#a0">url1.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a04843a8d3082ada80d279f51ddcc31a9"></a><!-- doxytag: member="ost::URLStream::urlDecode" ref="a04843a8d3082ada80d279f51ddcc31a9" args="(char *source, char *dest=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char * urlDecode </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>dest</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Decode an url parameter (ie "\%20" -&gt; " ") </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>string </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>destination buffer. If NULL source is used </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9813b0012b7290fc76ad635a21c4b35e"></a><!-- doxytag: member="ost::URLStream::urlEncode" ref="a9813b0012b7290fc76ad635a21c4b35e" args="(const char *source, char *dest, size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char * urlEncode </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Encode an url parameter (ie " " -&gt; "+") </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>string </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>destination buffer. Do not overlap with source </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>destination buffer size. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="ac4b599ef4b443e4701fa3a42eada0894"></a><!-- doxytag: member="ost::URLStream::m_address" ref="ac4b599ef4b443e4701fa3a42eada0894" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_string.html">ost::String</a> <a class="el" href="classost_1_1_u_r_l_stream.html#ac4b599ef4b443e4701fa3a42eada0894">ost::URLStream::m_address</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a8470768c9bdad61e65de940194670932"></a><!-- doxytag: member="ost::URLStream::m_host" ref="a8470768c9bdad61e65de940194670932" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_string.html">ost::String</a> <a class="el" href="classost_1_1_u_r_l_stream.html#a8470768c9bdad61e65de940194670932">ost::URLStream::m_host</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="url_8h_source.html">url.h</a></li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Nov 12 09:55:48 2010 for GNU CommonC++ by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>