Sophie

Sophie

distrib > Mandriva > 2007.0 > i586 > by-pkgid > ad1ba1135a9c9eeffc2e538163e00373 > files > 806

libCommonC++2_1.4-devel-1.4.1-1mdv2007.0.i586.rpm

\section{ost::URLStream Class Reference}
\label{classost_1_1_u_r_l_stream}\index{ost::URLStream@{ost::URLStream}}
A URL processing version of TCPStream.C++ url processing stream class.  


{\tt \#include $<$url.h$>$}

Inheritance diagram for ost::URLStream::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3cm]{classost_1_1_u_r_l_stream}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item 
enum {\bf Error} \{ \par
{\bf err\-Success} =  0, 
{\bf err\-Unreachable}, 
{\bf err\-Missing}, 
{\bf err\-Denied}, 
\par
{\bf err\-Invalid}, 
{\bf err\-Forbidden}, 
{\bf err\-Unauthorized}, 
{\bf err\-Relocated}, 
\par
{\bf err\-Failure}, 
{\bf err\-Timeout}, 
{\bf err\-Interface}
 \}
\begin{CompactList}\small\item\em Return error for url fetch. \item\end{CompactList}\item 
enum {\bf Authentication} \{ {\bf auth\-Anonymous} =  0, 
{\bf auth\-Basic}
 \}
\begin{CompactList}\small\item\em Type of authentication. \item\end{CompactList}\item 
enum {\bf Encoding} \{ {\bf encoding\-Binary} =  0, 
{\bf encoding\-Chunked}
 \}
\begin{CompactList}\small\item\em Encoding used in transfer. \item\end{CompactList}\item 
enum {\bf Method} \{ \par
{\bf method\-Http\-Get}, 
{\bf method\-Http\-Put}, 
{\bf method\-Http\-Post}, 
{\bf method\-Http\-Post\-Multipart}, 
\par
{\bf method\-Ftp\-Get}, 
{\bf method\-Ftp\-Put}, 
{\bf method\-File\-Get}, 
{\bf method\-File\-Put}
 \}
\begin{CompactList}\small\item\em Type of fetch. \item\end{CompactList}\item 
enum {\bf Protocol} \{ {\bf protocol\-Http1\_\-0}, 
{\bf protocol\-Http1\_\-1}
 \}
\begin{CompactList}\small\item\em http protocol version \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf URLStream} ({\bf Family} {\bf family}=IPV4, {\bf timeout\_\-t} timer=0)
\begin{CompactList}\small\item\em Construct an instance of URL stream. \item\end{CompactList}\item 
{\bf URLStream} \& {\bf getline} (char $\ast$buffer, size\_\-t len)
\begin{CompactList}\small\item\em Line parsing with conversion. \item\end{CompactList}\item 
{\bf Error} {\bf get} (const char $\ast$url, size\_\-t buffer=512)
\begin{CompactList}\small\item\em Get URL data from a named stream of a known buffer size. \item\end{CompactList}\item 
{\bf Error} {\bf get} (size\_\-t buffer=512)
\begin{CompactList}\small\item\em Get URL data from a named stream of a known buffer size. \item\end{CompactList}\item 
{\bf Error} {\bf submit} (const char $\ast$url, const char $\ast$$\ast$vars, size\_\-t buffer=512)
\begin{CompactList}\small\item\em Submit URL with vars passed as argument array. \item\end{CompactList}\item 
{\bf Error} {\bf post} (const char $\ast$url, const char $\ast$$\ast$vars, size\_\-t buffer=512)
\begin{CompactList}\small\item\em Post URL vars with post method. \item\end{CompactList}\item 
{\bf Error} {\bf post} (const char $\ast$url, {\bf MIMEMultipart\-Form} \&form, size\_\-t buffer=512)
\begin{CompactList}\small\item\em Post URL with MIME multipart form. \item\end{CompactList}\item 
{\bf Error} {\bf head} (const char $\ast$url, size\_\-t buffer=512)
\begin{CompactList}\small\item\em Used to fetch header information for a resource. \item\end{CompactList}\item 
void {\bf close} ()
\begin{CompactList}\small\item\em Close the URL stream for a new connection. \item\end{CompactList}\item 
void {\bf set\-Referer} (const char $\ast$str)
\begin{CompactList}\small\item\em Set the referer url. \item\end{CompactList}\item 
void {\bf set\-Host} (const char $\ast$str)
\begin{CompactList}\small\item\em Set the host for the url. \item\end{CompactList}\item 
void {\bf set\-Address} (const char $\ast$str)
\begin{CompactList}\small\item\em Set the address for the url. \item\end{CompactList}\item 
void {\bf set\-Cookie} (const char $\ast$str)
\begin{CompactList}\small\item\em Set the cookie to pass. \item\end{CompactList}\item 
void {\bf set\-User} (const char $\ast$str)
\begin{CompactList}\small\item\em Set user id for the url. \item\end{CompactList}\item 
void {\bf set\-Password} (const char $\ast$str)
\begin{CompactList}\small\item\em Set password for the url. \item\end{CompactList}\item 
void {\bf set\-Authentication} ({\bf Authentication} a, const char $\ast$str=NULL)
\begin{CompactList}\small\item\em Set authentication type for the url. \item\end{CompactList}\item 
void {\bf set\-Proxy\-User} (const char $\ast$str)
\begin{CompactList}\small\item\em Set proxy user id for the url. \item\end{CompactList}\item 
void {\bf set\-Proxy\-Password} (const char $\ast$str)
\begin{CompactList}\small\item\em Set proxy password for the url. \item\end{CompactList}\item 
void {\bf set\-Proxy\-Authentication} ({\bf Authentication} a, const char $\ast$str=NULL)
\begin{CompactList}\small\item\em Set proxy authentication type for the url. \item\end{CompactList}\item 
void {\bf set\-Pragma} (const char $\ast$str)
\begin{CompactList}\small\item\em Set the pragmas. \item\end{CompactList}\item 
void {\bf set\-Proxy} (const char $\ast$host, {\bf tpport\_\-t} port)
\begin{CompactList}\small\item\em Set the proxy server used. \item\end{CompactList}\item 
void {\bf set\-Agent} (const char $\ast$str)
\begin{CompactList}\small\item\em Set the agent. \item\end{CompactList}\item 
{\bf Method} {\bf get\-Method} (void)
\begin{CompactList}\small\item\em Get url method (and protocol) employed. \item\end{CompactList}\item 
void {\bf set\-Timeout} ({\bf timeout\_\-t} to)
\begin{CompactList}\small\item\em Set socket timeout characteristics for processing URL requests. \item\end{CompactList}\item 
void {\bf set\-Follow} (bool enable)
\begin{CompactList}\small\item\em Specify url following. \item\end{CompactList}\item 
void {\bf set\-Protocol} ({\bf Protocol} pro)
\begin{CompactList}\small\item\em Specify http protocol level being used. \item\end{CompactList}\item 
void {\bf set\-Local\-Interface} (const char $\ast$intf)
\begin{CompactList}\small\item\em Specify local interface to use. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Member Functions}
\begin{CompactItemize}
\item 
{\bf Error} {\bf send\-HTTPHeader} (const char $\ast$url, const char $\ast$$\ast$vars, size\_\-t {\bf bufsize})
\begin{CompactList}\small\item\em Send http header to server. \item\end{CompactList}\item 
int {\bf underflow} (void)
\begin{CompactList}\small\item\em Called if stream buffer needs refilling. \item\end{CompactList}\item 
virtual int {\bf a\-Read} (char $\ast$buffer, size\_\-t len, {\bf timeout\_\-t} timer)
\begin{CompactList}\small\item\em Derived method for async or timed I/O function on url stream. \item\end{CompactList}\item 
virtual int {\bf a\-Write} (char $\ast$buffer, size\_\-t len, {\bf timeout\_\-t} timer)
\begin{CompactList}\small\item\em Derived method for async or timed I/O function on url stream. \item\end{CompactList}\item 
virtual void {\bf http\-Header} (const char $\ast$header, const char $\ast$value)
\begin{CompactList}\small\item\em Derived method to receive and parse http \char`\"{}headers\char`\"{}. \item\end{CompactList}\item 
virtual char $\ast$$\ast$ {\bf extra\-Header} (void)
\begin{CompactList}\small\item\em A virtual to insert additional header info into the request. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
{\bf ost::String} {\bf m\_\-host}
\item 
{\bf ost::String} {\bf m\_\-address}
\end{CompactItemize}
\subsection*{Related Functions}
(Note that these are not member functions.) \begin{CompactItemize}
\item 
\_\-\_\-EXPORT char $\ast$ {\bf url\-Decode} (char $\ast$source, char $\ast$dest=NULL)
\item 
\_\-\_\-EXPORT char $\ast$ {\bf url\-Encode} (const char $\ast$source, char $\ast$dest, size\_\-t size)
\item 
\_\-\_\-EXPORT char $\ast$ {\bf b64Decode} (char $\ast$src, char $\ast$dest=NULL)
\item 
\_\-\_\-EXPORT char $\ast$ {\bf b64Encode} (const char $\ast$source, char $\ast$dest, size\_\-t size)
\item 
\_\-\_\-EXPORT size\_\-t {\bf b64Encode} (const unsigned char $\ast$src, size\_\-t srcsize, char $\ast$dst, size\_\-t dstsize)
\item 
\_\-\_\-EXPORT size\_\-t {\bf b64Decode} (const char $\ast$src, unsigned char $\ast$dst, size\_\-t dstsize)
\item 
\_\-\_\-EXPORT {\bf String} {\bf b64Encode} (const {\bf String} \&src)
\item 
\_\-\_\-EXPORT {\bf String} {\bf b64Decode} (const {\bf String} \&src)
\item 
\_\-\_\-EXPORT {\bf String} {\bf b64Encode} (const unsigned char $\ast$src, size\_\-t srcsize)
\item 
\_\-\_\-EXPORT size\_\-t {\bf b64Decode} (const {\bf String} \&src, unsigned char $\ast$dst, size\_\-t dstsize)
\end{CompactItemize}


\subsection{Detailed Description}
A URL processing version of TCPStream.C++ url processing stream class. 

\begin{Desc}
\item[Author:]David Sugar $<${\tt dyfet@ostel.com}$>$ \end{Desc}
\begin{Desc}
\item[Examples: ]\par


{\bf urlfetch.cpp}, and {\bf xmlfetch.cpp}.\end{Desc}




\subsection{Member Enumeration Documentation}
\index{ost::URLStream@{ost::URLStream}!Authentication@{Authentication}}
\index{Authentication@{Authentication}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf ost::URLStream::Authentication}}\label{classost_1_1_u_r_l_stream_0c2c4056104cc9cfb500d7be3a791279}


Type of authentication. 

\begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{authAnonymous@{authAnonymous}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!authAnonymous@{authAnonymous}}\item[{\em 
auth\-Anonymous\label{classost_1_1_u_r_l_stream_0c2c4056104cc9cfb500d7be3a791279204cc2bcd2b2bbc6528b5a025bbb0220}
}]\index{authBasic@{authBasic}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!authBasic@{authBasic}}\item[{\em 
auth\-Basic\label{classost_1_1_u_r_l_stream_0c2c4056104cc9cfb500d7be3a791279f77c47d3ed840ec1331290d52305d467}
}]\end{description}
\end{Desc}

\index{ost::URLStream@{ost::URLStream}!Encoding@{Encoding}}
\index{Encoding@{Encoding}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf ost::URLStream::Encoding}}\label{classost_1_1_u_r_l_stream_29c5e2bbdebac341382d346331fff074}


Encoding used in transfer. 

\begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{encodingBinary@{encodingBinary}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!encodingBinary@{encodingBinary}}\item[{\em 
encoding\-Binary\label{classost_1_1_u_r_l_stream_29c5e2bbdebac341382d346331fff074ef8e17e51287cfc9b832a82c601522d6}
}]\index{encodingChunked@{encodingChunked}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!encodingChunked@{encodingChunked}}\item[{\em 
encoding\-Chunked\label{classost_1_1_u_r_l_stream_29c5e2bbdebac341382d346331fff0748917153dcf23a2767a57b8058dfd7307}
}]\end{description}
\end{Desc}

\index{ost::URLStream@{ost::URLStream}!Error@{Error}}
\index{Error@{Error}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf ost::URLStream::Error}}\label{classost_1_1_u_r_l_stream_3cbe53f1c34d7fdbd73efa61edbf463d}


Return error for url fetch. 

\begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{errSuccess@{errSuccess}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!errSuccess@{errSuccess}}\item[{\em 
err\-Success\label{classost_1_1_u_r_l_stream_3cbe53f1c34d7fdbd73efa61edbf463dc62812a83036760789cfd3e7a9bc6d8a}
}]\index{errUnreachable@{errUnreachable}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!errUnreachable@{errUnreachable}}\item[{\em 
err\-Unreachable\label{classost_1_1_u_r_l_stream_3cbe53f1c34d7fdbd73efa61edbf463df690302fea53223ececff5a18e51583a}
}]\index{errMissing@{errMissing}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!errMissing@{errMissing}}\item[{\em 
err\-Missing\label{classost_1_1_u_r_l_stream_3cbe53f1c34d7fdbd73efa61edbf463def5c1670971fe8bff9815517c7dcc037}
}]\index{errDenied@{errDenied}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!errDenied@{errDenied}}\item[{\em 
err\-Denied\label{classost_1_1_u_r_l_stream_3cbe53f1c34d7fdbd73efa61edbf463da77932a4f73745c190b31ecb89d9e6b1}
}]\index{errInvalid@{errInvalid}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!errInvalid@{errInvalid}}\item[{\em 
err\-Invalid\label{classost_1_1_u_r_l_stream_3cbe53f1c34d7fdbd73efa61edbf463dd7f27e58273752137f7a7b3cc01510d6}
}]\index{errForbidden@{errForbidden}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!errForbidden@{errForbidden}}\item[{\em 
err\-Forbidden\label{classost_1_1_u_r_l_stream_3cbe53f1c34d7fdbd73efa61edbf463de41d04b4cb317042ce2ec23046412653}
}]\index{errUnauthorized@{errUnauthorized}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!errUnauthorized@{errUnauthorized}}\item[{\em 
err\-Unauthorized\label{classost_1_1_u_r_l_stream_3cbe53f1c34d7fdbd73efa61edbf463dcc7a5df261dd3d70610e6eea026c6588}
}]\index{errRelocated@{errRelocated}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!errRelocated@{errRelocated}}\item[{\em 
err\-Relocated\label{classost_1_1_u_r_l_stream_3cbe53f1c34d7fdbd73efa61edbf463d72120616b8963ff2483777bd48e299b7}
}]\index{errFailure@{errFailure}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!errFailure@{errFailure}}\item[{\em 
err\-Failure\label{classost_1_1_u_r_l_stream_3cbe53f1c34d7fdbd73efa61edbf463dff2ca7bfdf0273907dd2dff07364488f}
}]\index{errTimeout@{errTimeout}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!errTimeout@{errTimeout}}\item[{\em 
err\-Timeout\label{classost_1_1_u_r_l_stream_3cbe53f1c34d7fdbd73efa61edbf463d21538f6d1947b30d11d846c16071a9bb}
}]\index{errInterface@{errInterface}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!errInterface@{errInterface}}\item[{\em 
err\-Interface\label{classost_1_1_u_r_l_stream_3cbe53f1c34d7fdbd73efa61edbf463dec1aca8ce804c335c96851289b049d03}
}]\end{description}
\end{Desc}



Reimplemented from {\bf ost::Socket} {\rm (p.\,\pageref{classost_1_1_socket_3306a277326459f69aa69b474f50d6e2})}.\index{ost::URLStream@{ost::URLStream}!Method@{Method}}
\index{Method@{Method}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf ost::URLStream::Method}}\label{classost_1_1_u_r_l_stream_63b25c99eb1c2813d92f52b15be7368a}


Type of fetch. 

\begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{methodHttpGet@{methodHttpGet}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!methodHttpGet@{methodHttpGet}}\item[{\em 
method\-Http\-Get\label{classost_1_1_u_r_l_stream_63b25c99eb1c2813d92f52b15be7368a8cdf141da33c9075e8f748ff046bb55d}
}]\index{methodHttpPut@{methodHttpPut}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!methodHttpPut@{methodHttpPut}}\item[{\em 
method\-Http\-Put\label{classost_1_1_u_r_l_stream_63b25c99eb1c2813d92f52b15be7368af3576348551d07b247f0b87d62586edf}
}]\index{methodHttpPost@{methodHttpPost}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!methodHttpPost@{methodHttpPost}}\item[{\em 
method\-Http\-Post\label{classost_1_1_u_r_l_stream_63b25c99eb1c2813d92f52b15be7368a331fbf2811a54db820d153f3f26f866b}
}]\index{methodHttpPostMultipart@{methodHttpPostMultipart}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!methodHttpPostMultipart@{methodHttpPostMultipart}}\item[{\em 
method\-Http\-Post\-Multipart\label{classost_1_1_u_r_l_stream_63b25c99eb1c2813d92f52b15be7368a07a740f3cdd68a98892644577cd844c8}
}]\index{methodFtpGet@{methodFtpGet}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!methodFtpGet@{methodFtpGet}}\item[{\em 
method\-Ftp\-Get\label{classost_1_1_u_r_l_stream_63b25c99eb1c2813d92f52b15be7368a415d881a560624fccbc466fce0033b59}
}]\index{methodFtpPut@{methodFtpPut}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!methodFtpPut@{methodFtpPut}}\item[{\em 
method\-Ftp\-Put\label{classost_1_1_u_r_l_stream_63b25c99eb1c2813d92f52b15be7368a45c039f1f93d87536ebacdfc867a7491}
}]\index{methodFileGet@{methodFileGet}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!methodFileGet@{methodFileGet}}\item[{\em 
method\-File\-Get\label{classost_1_1_u_r_l_stream_63b25c99eb1c2813d92f52b15be7368a8e4e3cd2ca28b4c974562f917d60e7d6}
}]\index{methodFilePut@{methodFilePut}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!methodFilePut@{methodFilePut}}\item[{\em 
method\-File\-Put\label{classost_1_1_u_r_l_stream_63b25c99eb1c2813d92f52b15be7368aa5d783eebb656045bcbe036a0ec0319b}
}]\end{description}
\end{Desc}

\index{ost::URLStream@{ost::URLStream}!Protocol@{Protocol}}
\index{Protocol@{Protocol}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf ost::URLStream::Protocol}}\label{classost_1_1_u_r_l_stream_368c822b755fd439f9a3293effddab5d}


http protocol version 

\begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{protocolHttp1_0@{protocolHttp1\_\-0}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!protocolHttp1_0@{protocolHttp1\_\-0}}\item[{\em 
protocol\-Http1\_\-0\label{classost_1_1_u_r_l_stream_368c822b755fd439f9a3293effddab5d0529a99019ed5fc43547f186fa700196}
}]\index{protocolHttp1_1@{protocolHttp1\_\-1}!ost::URLStream@{ost::URLStream}}\index{ost::URLStream@{ost::URLStream}!protocolHttp1_1@{protocolHttp1\_\-1}}\item[{\em 
protocol\-Http1\_\-1\label{classost_1_1_u_r_l_stream_368c822b755fd439f9a3293effddab5dbacbdcd166dd2cc9163c397b29085b89}
}]\end{description}
\end{Desc}



\subsection{Constructor \& Destructor Documentation}
\index{ost::URLStream@{ost::URLStream}!URLStream@{URLStream}}
\index{URLStream@{URLStream}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}ost::URLStream::URLStream ({\bf Family} {\em family} = {\tt IPV4}, {\bf timeout\_\-t} {\em timer} = {\tt 0})}\label{classost_1_1_u_r_l_stream_d67d5e0124b147ea3c1d70dc0fe8c342}


Construct an instance of URL stream. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em family}]protocol to use. \item[{\em timer}]for default timeout on I/O operations. \end{description}
\end{Desc}


\subsection{Member Function Documentation}
\index{ost::URLStream@{ost::URLStream}!aRead@{aRead}}
\index{aRead@{aRead}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual int ost::URLStream::a\-Read (char $\ast$ {\em buffer}, size\_\-t {\em len}, {\bf timeout\_\-t} {\em timer})\hspace{0.3cm}{\tt  [protected, virtual]}}\label{classost_1_1_u_r_l_stream_8ed0d235e64866b6cc4b8c7eeb70c241}


Derived method for async or timed I/O function on url stream. 

\begin{Desc}
\item[Returns:]number of bytes read or $<$ 0 for error. \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em buffer}]to read stream data into. \item[{\em len}]of bytes to read from stream. \item[{\em timer}]to wait for data in milliseconds. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!aWrite@{aWrite}}
\index{aWrite@{aWrite}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual int ost::URLStream::a\-Write (char $\ast$ {\em buffer}, size\_\-t {\em len}, {\bf timeout\_\-t} {\em timer})\hspace{0.3cm}{\tt  [protected, virtual]}}\label{classost_1_1_u_r_l_stream_ca550e5cad45a8491f3263e1e3a66df0}


Derived method for async or timed I/O function on url stream. 

\begin{Desc}
\item[Returns:]number of bytes written or $<$ 0 for error. \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em buffer}]to write stream data from. \item[{\em len}]of bytes to write to stream. \item[{\em timer}]to wait for data in milliseconds. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!close@{close}}
\index{close@{close}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::close ()}\label{classost_1_1_u_r_l_stream_4fbfcee3df6cfcd425395a0ec98006c8}


Close the URL stream for a new connection. 

\index{ost::URLStream@{ost::URLStream}!extraHeader@{extraHeader}}
\index{extraHeader@{extraHeader}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual char$\ast$$\ast$ ost::URLStream::extra\-Header (void)\hspace{0.3cm}{\tt  [protected, virtual]}}\label{classost_1_1_u_r_l_stream_9a7286f877eaf5dcd76479450635ea22}


A virtual to insert additional header info into the request. 

\begin{Desc}
\item[Returns:]array of header attributes to add. \end{Desc}
\index{ost::URLStream@{ost::URLStream}!get@{get}}
\index{get@{get}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Error} ost::URLStream::get (size\_\-t {\em buffer} = {\tt 512})}\label{classost_1_1_u_r_l_stream_750919d1c6bd4e63d7b599381e4f7f42}


Get URL data from a named stream of a known buffer size. 

Requesting URL defined in previous calls of {\bf set\-Address()}{\rm (p.\,\pageref{classost_1_1_u_r_l_stream_de0f87919bff65f5872f79ef1fb9b250})} and {\bf set\-Host()}{\rm (p.\,\pageref{classost_1_1_u_r_l_stream_41fe1fab3e180ab32984558452375864})} functions.

\begin{Desc}
\item[Returns:]url error code. \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em buffer}]size of buffer. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!get@{get}}
\index{get@{get}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Error} ost::URLStream::get (const char $\ast$ {\em url}, size\_\-t {\em buffer} = {\tt 512})}\label{classost_1_1_u_r_l_stream_245cb360d2b18e1cb8373605814db713}


Get URL data from a named stream of a known buffer size. 

\begin{Desc}
\item[Returns:]url error code. \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em url}]name of resource. \item[{\em buffer}]size of buffer. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!getline@{getline}}
\index{getline@{getline}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf URLStream}\& ost::URLStream::getline (char $\ast$ {\em buffer}, size\_\-t {\em len})}\label{classost_1_1_u_r_l_stream_1cc1b56965c6ce7933c759acb4633853}


Line parsing with conversion. 

\begin{Desc}
\item[Returns:]{\bf URLStream}{\rm (p.\,\pageref{classost_1_1_u_r_l_stream})} object reference. \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em buffer}]to store. \item[{\em len}]maximum buffer size. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!getMethod@{getMethod}}
\index{getMethod@{getMethod}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Method} ost::URLStream::get\-Method (void)\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_r_l_stream_b1f293e945445bf93183e0670052b00f}


Get url method (and protocol) employed. 

\begin{Desc}
\item[Returns:]url method in effect. \end{Desc}
\index{ost::URLStream@{ost::URLStream}!head@{head}}
\index{head@{head}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Error} ost::URLStream::head (const char $\ast$ {\em url}, size\_\-t {\em buffer} = {\tt 512})}\label{classost_1_1_u_r_l_stream_5be7627983cd722404fc1c5e69d2a427}


Used to fetch header information for a resource. 

\begin{Desc}
\item[Returns:]url error code. \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em url}]name of resource. \item[{\em buffer}]size of buffer. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!httpHeader@{httpHeader}}
\index{httpHeader@{httpHeader}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void ost::URLStream::http\-Header (const char $\ast$ {\em header}, const char $\ast$ {\em value})\hspace{0.3cm}{\tt  [protected, virtual]}}\label{classost_1_1_u_r_l_stream_353ff6fd2ffb296082e357e45b53632e}


Derived method to receive and parse http \char`\"{}headers\char`\"{}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em header}]keyword. \item[{\em value}]header keyword value. \end{description}
\end{Desc}
\begin{Desc}
\item[Examples: ]\par
{\bf urlfetch.cpp}, and {\bf xmlfetch.cpp}.\end{Desc}
\index{ost::URLStream@{ost::URLStream}!post@{post}}
\index{post@{post}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Error} ost::URLStream::post (const char $\ast$ {\em url}, {\bf MIMEMultipart\-Form} \& {\em form}, size\_\-t {\em buffer} = {\tt 512})}\label{classost_1_1_u_r_l_stream_a12798695f134f7d00b62ce79fa1f405}


Post URL with MIME multipart form. 

\begin{Desc}
\item[Returns:]success or error code. \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em url}]name of resource being posted. \item[{\em form}]multi-part resource. \item[{\em buffer}]size to use. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!post@{post}}
\index{post@{post}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Error} ost::URLStream::post (const char $\ast$ {\em url}, const char $\ast$$\ast$ {\em vars}, size\_\-t {\em buffer} = {\tt 512})}\label{classost_1_1_u_r_l_stream_ee618168078e0d73898999cf4ab08515}


Post URL vars with post method. 

\begin{Desc}
\item[Returns:]success or error code. \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em url}]name of resource being posted. \item[{\em vars}]to set in post. \item[{\em buffer}]size of buffer. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!sendHTTPHeader@{sendHTTPHeader}}
\index{sendHTTPHeader@{sendHTTPHeader}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Error} ost::URLStream::send\-HTTPHeader (const char $\ast$ {\em url}, const char $\ast$$\ast$ {\em vars}, size\_\-t {\em bufsize})\hspace{0.3cm}{\tt  [protected]}}\label{classost_1_1_u_r_l_stream_4e4680cdb90d8187b9d1f7e58e8b84e3}


Send http header to server. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em url}]base to send header to \item[{\em vars}]to post or use in get method \item[{\em bufsize}]of stream buffering to use \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]success or class error \end{Desc}
\index{ost::URLStream@{ost::URLStream}!setAddress@{setAddress}}
\index{setAddress@{setAddress}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::set\-Address (const char $\ast$ {\em str})\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_r_l_stream_de0f87919bff65f5872f79ef1fb9b250}


Set the address for the url. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em str}]address in the URL. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!setAgent@{setAgent}}
\index{setAgent@{setAgent}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::set\-Agent (const char $\ast$ {\em str})\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_r_l_stream_81286e908399824ddc0ddef398850786}


Set the agent. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em str}]agent value. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!setAuthentication@{setAuthentication}}
\index{setAuthentication@{setAuthentication}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::set\-Authentication ({\bf Authentication} {\em a}, const char $\ast$ {\em str} = {\tt NULL})}\label{classost_1_1_u_r_l_stream_a6bed72b5a47a805057e3f8318fd21f7}


Set authentication type for the url. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em a}]authentication. \item[{\em str}]string. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!setCookie@{setCookie}}
\index{setCookie@{setCookie}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::set\-Cookie (const char $\ast$ {\em str})\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_r_l_stream_6ab058ec31630125b4d22874f72b2e5e}


Set the cookie to pass. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em str}]cookie string. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!setFollow@{setFollow}}
\index{setFollow@{setFollow}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::set\-Follow (bool {\em enable})\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_r_l_stream_9fbf94d5de3e2d293d6ec6101c519055}


Specify url following. 

Set to false to disable following of relocation requests.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em enable}]true to enable following. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!setHost@{setHost}}
\index{setHost@{setHost}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::set\-Host (const char $\ast$ {\em str})\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_r_l_stream_41fe1fab3e180ab32984558452375864}


Set the host for the url. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em str}]host address. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!setLocalInterface@{setLocalInterface}}
\index{setLocalInterface@{setLocalInterface}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::set\-Local\-Interface (const char $\ast$ {\em intf})\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_r_l_stream_07915e0717ed8670a4a733bc94e8944c}


Specify local interface to use. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em intf}]Local interface name \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!setPassword@{setPassword}}
\index{setPassword@{setPassword}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::set\-Password (const char $\ast$ {\em str})\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_r_l_stream_3a85d06cbfa3206b47ba4623051ccf7c}


Set password for the url. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em str}]password. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!setPragma@{setPragma}}
\index{setPragma@{setPragma}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::set\-Pragma (const char $\ast$ {\em str})\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_r_l_stream_840da2832dc45d5fb500af34d1e7c1d6}


Set the pragmas. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em str}]pragma setting. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!setProtocol@{setProtocol}}
\index{setProtocol@{setProtocol}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::set\-Protocol ({\bf Protocol} {\em pro})\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_r_l_stream_ec7ab9ffee3a1efd10209f77de75ab3b}


Specify http protocol level being used. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em pro}]protocol level. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!setProxy@{setProxy}}
\index{setProxy@{setProxy}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::set\-Proxy (const char $\ast$ {\em host}, {\bf tpport\_\-t} {\em port})}\label{classost_1_1_u_r_l_stream_9ea810e793a91182058b75af8c94b21c}


Set the proxy server used. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em host}]proxy host. \item[{\em port}]proxy port. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!setProxyAuthentication@{setProxyAuthentication}}
\index{setProxyAuthentication@{setProxyAuthentication}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::set\-Proxy\-Authentication ({\bf Authentication} {\em a}, const char $\ast$ {\em str} = {\tt NULL})}\label{classost_1_1_u_r_l_stream_8e41f12ed9d4128c9cded18a11eb499e}


Set proxy authentication type for the url. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em a}]authentication. \item[{\em str}]string. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!setProxyPassword@{setProxyPassword}}
\index{setProxyPassword@{setProxyPassword}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::set\-Proxy\-Password (const char $\ast$ {\em str})\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_r_l_stream_14621652a8c864bcebece2155326db3a}


Set proxy password for the url. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em str}]password. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!setProxyUser@{setProxyUser}}
\index{setProxyUser@{setProxyUser}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::set\-Proxy\-User (const char $\ast$ {\em str})\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_r_l_stream_ab90935c27dd3d5a3987174b085b4769}


Set proxy user id for the url. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em str}]user id. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!setReferer@{setReferer}}
\index{setReferer@{setReferer}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::set\-Referer (const char $\ast$ {\em str})}\label{classost_1_1_u_r_l_stream_ab5fe86079a3d60998b7c036e48af46e}


Set the referer url. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em str}]referer string. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!setTimeout@{setTimeout}}
\index{setTimeout@{setTimeout}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::set\-Timeout ({\bf timeout\_\-t} {\em to})\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_r_l_stream_82863fbf49c6095877c2147a670e3e71}


Set socket timeout characteristics for processing URL requests. 

Set to 0 for no default timeouts.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em to}]timeout to set. \end{description}
\end{Desc}


Reimplemented from {\bf ost::TCPStream} {\rm (p.\,\pageref{classost_1_1_t_c_p_stream_1bdf8e7962c57d6086117d5a790ad3f6})}.\index{ost::URLStream@{ost::URLStream}!setUser@{setUser}}
\index{setUser@{setUser}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::URLStream::set\-User (const char $\ast$ {\em str})\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_r_l_stream_8471a2d492c4bb37bbb406965b0d19ea}


Set user id for the url. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em str}]user id. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!submit@{submit}}
\index{submit@{submit}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Error} ost::URLStream::submit (const char $\ast$ {\em url}, const char $\ast$$\ast$ {\em vars}, size\_\-t {\em buffer} = {\tt 512})}\label{classost_1_1_u_r_l_stream_d66079132c3049a8def80b5612d80504}


Submit URL with vars passed as argument array. 

This submit assumes \char`\"{}GET\char`\"{} method. Use \char`\"{}post\char`\"{} member to perform post.

\begin{Desc}
\item[Returns:]url error code. \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em url}]name of resource. \item[{\em vars}]to set. \item[{\em buffer}]size of buffer. \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!underflow@{underflow}}
\index{underflow@{underflow}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int ost::URLStream::underflow (void)\hspace{0.3cm}{\tt  [protected]}}\label{classost_1_1_u_r_l_stream_0dc12a6f57c7ba5d05988dcc12fd41cf}


Called if stream buffer needs refilling. 

\begin{Desc}
\item[Returns:]number of bytes refilled or error if $<$ 0 \end{Desc}


Reimplemented from {\bf ost::TCPStream} {\rm (p.\,\pageref{classost_1_1_t_c_p_stream_8bba1f2724c35992a48ef7322214a3dc})}.

\subsection{Friends And Related Function Documentation}
\index{ost::URLStream@{ost::URLStream}!b64Decode@{b64Decode}}
\index{b64Decode@{b64Decode}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\_\-\_\-EXPORT size\_\-t b64Decode (const {\bf String} \& {\em src}, unsigned char $\ast$ {\em dst}, size\_\-t {\em dstsize})\hspace{0.3cm}{\tt  [related]}}\label{classost_1_1_u_r_l_stream_4b51caef5a86a9af0609912f4b76852f}


Decode a string using base64 coding. Destination size should be at least strlen(src)/4$\ast$3. Destination are not string terminated (It's just a octet stream). \begin{Desc}
\item[Returns:]number of octets written into destination buffer \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em src}]source string \item[{\em dst}]destination octet buffer \item[{\em dstsize}]destination buffer size \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!b64Decode@{b64Decode}}
\index{b64Decode@{b64Decode}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\_\-\_\-EXPORT {\bf String} b64Decode (const {\bf String} \& {\em src})\hspace{0.3cm}{\tt  [related]}}\label{classost_1_1_u_r_l_stream_c85efc9d92607b7ea11738e43fce2da6}


Decode a STL string using base64 coding into an STL {\bf String}{\rm (p.\,\pageref{classost_1_1_string})}. Destination size should be at least strlen(src)/4$\ast$3. Destination are not string terminated (It's just a octet stream). \begin{Desc}
\item[Returns:]decoded string \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em src}]source string \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!b64Decode@{b64Decode}}
\index{b64Decode@{b64Decode}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\_\-\_\-EXPORT size\_\-t b64Decode (const char $\ast$ {\em src}, unsigned char $\ast$ {\em dst}, size\_\-t {\em dstsize})\hspace{0.3cm}{\tt  [related]}}\label{classost_1_1_u_r_l_stream_800a137ba68e9e2252b959526f0943d0}


Decode a string using base64 coding. Destination size should be at least strlen(src)/4$\ast$3. Destination are not string terminated (It's just a octet stream). \begin{Desc}
\item[Returns:]number of octets written into destination buffer \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em src}]source string \item[{\em dst}]destination octet buffer \item[{\em dstsize}]destination buffer size \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!b64Decode@{b64Decode}}
\index{b64Decode@{b64Decode}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\_\-\_\-EXPORT char $\ast$ b64Decode (char $\ast$ {\em src}, char $\ast$ {\em dest} = {\tt NULL})\hspace{0.3cm}{\tt  [related]}}\label{classost_1_1_u_r_l_stream_058d465ccd38a3542c82d4c420458be1}


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. \begin{Desc}
\item[Returns:]string coded \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em src}]source buffer \item[{\em dest}]destination buffer. If NULL src is used \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!b64Encode@{b64Encode}}
\index{b64Encode@{b64Encode}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\_\-\_\-EXPORT {\bf String} b64Encode (const unsigned char $\ast$ {\em src}, size\_\-t {\em srcsize})\hspace{0.3cm}{\tt  [related]}}\label{classost_1_1_u_r_l_stream_102f3b8ba8d6671b6625e5498fdbf91c}


Encode a octet stream using base64 coding into a STL string \begin{Desc}
\item[Returns:]base 64 encoded string \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em src}]source buffer \item[{\em srcsize}]source buffer size \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!b64Encode@{b64Encode}}
\index{b64Encode@{b64Encode}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\_\-\_\-EXPORT {\bf String} b64Encode (const {\bf String} \& {\em src})\hspace{0.3cm}{\tt  [related]}}\label{classost_1_1_u_r_l_stream_ee99ab3279410ced57baf249c53abeac}


Encode a STL string using base64 coding into a STL string \begin{Desc}
\item[Returns:]base 64 encoded string \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em src}]source string \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!b64Encode@{b64Encode}}
\index{b64Encode@{b64Encode}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\_\-\_\-EXPORT size\_\-t b64Encode (const unsigned char $\ast$ {\em src}, size\_\-t {\em srcsize}, char $\ast$ {\em dst}, size\_\-t {\em dstsize})\hspace{0.3cm}{\tt  [related]}}\label{classost_1_1_u_r_l_stream_a80fc84bd4337f43e8ad841033f53696}


Encode a octet stream using base64 coding. Destination size should be at least (srcsize+2)/3$\ast$4+1. Destination will be a string, so is always terminated (unless you pass dstsize == 0). \begin{Desc}
\item[Returns:]size of string written not counting terminator \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em src}]source buffer \item[{\em srcsize}]source buffer size \item[{\em dst}]destination buffer \item[{\em dstsize}]destination buffer size \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!b64Encode@{b64Encode}}
\index{b64Encode@{b64Encode}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\_\-\_\-EXPORT char $\ast$ b64Encode (const char $\ast$ {\em source}, char $\ast$ {\em dest}, size\_\-t {\em size})\hspace{0.3cm}{\tt  [related]}}\label{classost_1_1_u_r_l_stream_0df18b95c1fb134f0d61ab9ec4e03098}


Encode a string using base64 coding. Destination size should be at least strlen(src)/4$\ast$3+1. Destination is string terminated. This function is deprecated, coded stream can contain terminator character use overloaded b64Encode instead. \begin{Desc}
\item[Returns:]destination buffer \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em source}]source string \item[{\em dest}]destination octet buffer \item[{\em size}]destination buffer size \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!urlDecode@{urlDecode}}
\index{urlDecode@{urlDecode}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\_\-\_\-EXPORT char $\ast$ url\-Decode (char $\ast$ {\em source}, char $\ast$ {\em dest} = {\tt NULL})\hspace{0.3cm}{\tt  [related]}}\label{classost_1_1_u_r_l_stream_8e640570e417c74abd3d31bb8d1de22e}


Decode an url parameter (ie \char`\"{}$\backslash$\%20\char`\"{} -$>$ \char`\"{} \char`\"{}) \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em source}]string \item[{\em dest}]destination buffer. If NULL source is used \end{description}
\end{Desc}
\index{ost::URLStream@{ost::URLStream}!urlEncode@{urlEncode}}
\index{urlEncode@{urlEncode}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\_\-\_\-EXPORT char $\ast$ url\-Encode (const char $\ast$ {\em source}, char $\ast$ {\em dest}, size\_\-t {\em size})\hspace{0.3cm}{\tt  [related]}}\label{classost_1_1_u_r_l_stream_1f9f2d94f9af929a9dde49f1ef9a4423}


Encode an url parameter (ie \char`\"{} \char`\"{} -$>$ \char`\"{}+\char`\"{}) \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em source}]string \item[{\em dest}]destination buffer. Do not overlap with source \item[{\em size}]destination buffer size. \end{description}
\end{Desc}


\subsection{Member Data Documentation}
\index{ost::URLStream@{ost::URLStream}!m_address@{m\_\-address}}
\index{m_address@{m\_\-address}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf ost::String} {\bf ost::URLStream::m\_\-address}\hspace{0.3cm}{\tt  [protected]}}\label{classost_1_1_u_r_l_stream_c4b599ef4b443e4701fa3a42eada0894}


\index{ost::URLStream@{ost::URLStream}!m_host@{m\_\-host}}
\index{m_host@{m\_\-host}!ost::URLStream@{ost::URLStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf ost::String} {\bf ost::URLStream::m\_\-host}\hspace{0.3cm}{\tt  [protected]}}\label{classost_1_1_u_r_l_stream_8470768c9bdad61e65de940194670932}




The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
{\bf url.h}\end{CompactItemize}