\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}