ost::URLStream(3) | Library Functions Manual | ost::URLStream(3) |
NAME¶
ost::URLStream - A URL processing version of TCPStream.SYNOPSIS¶
#include <url.h> Inherits ost::TCPStream.Public Types¶
enum Error { errSuccess = 0, errUnreachable, errMissing, errDenied, errInvalid, errForbidden, errUnauthorized, errRelocated, errFailure, errTimeout, errInterface }
Public Member Functions¶
URLStream (Family family=IPV4, timeout_t timer=0)
Protected Member Functions¶
Error sendHTTPHeader (const char *url, const char **vars, size_t bufsize)
Protected Attributes¶
ost::String m_host
Related Functions¶
(Note that these are not member functions.)__EXPORT char * urlDecode (char *source, char *dest=NULL)
Additional Inherited Members¶
Detailed Description¶
A URL processing version of TCPStream. Author:David Sugar dyfet@ostel.com C++ url processing stream
class.
Examples:
urlfetch.cpp, and xmlfetch.cpp.
Member Enumeration Documentation¶
enum ost::URLStream::Authentication¶
Type of authentication. Enumerator- authAnonymous
- authBasic
enum ost::URLStream::Encoding¶
Encoding used in transfer. Enumerator- encodingBinary
- encodingChunked
enum ost::URLStream::Error¶
Return error for url fetch. Enumerator- errSuccess
- errUnreachable
- errMissing
- errDenied
- errInvalid
- errForbidden
- errUnauthorized
- errRelocated
- errFailure
- errTimeout
- errInterface
enum ost::URLStream::Method¶
Type of fetch. Enumerator- methodHttpGet
- methodHttpPut
- methodHttpPost
- methodHttpPostMultipart
- methodFtpGet
- methodFtpPut
- methodFileGet
- methodFilePut
enum ost::URLStream::Protocol¶
http protocol version Enumerator- protocolHttp1_0
- protocolHttp1_1
Constructor & Destructor Documentation¶
ost::URLStream::URLStream ( Familyfamily = IPV4, timeout_ttimer = 0)¶
Construct an instance of URL stream. Parameters:family protocol to use.
timer for default timeout on I/O operations.
Member Function Documentation¶
virtual int ost::URLStream::aRead (char *buffer, size_tlen, timeout_ttimer) [protected], [virtual]¶
Derived method for async or timed I/O function on url stream. Returns:number of bytes read or < 0 for error.
Parameters:
buffer to read stream data into.
len of bytes to read from stream.
timer to wait for data in milliseconds.
virtual int ost::URLStream::aWrite (char *buffer, size_tlen, timeout_ttimer) [protected], [virtual]¶
Derived method for async or timed I/O function on url stream. Returns:number of bytes written or < 0 for error.
Parameters:
buffer to write stream data from.
len of bytes to write to stream.
timer to wait for data in milliseconds.
void ost::URLStream::close ()¶
Close the URL stream for a new connection.virtual char** ost::URLStream::extraHeader (void) [protected], [virtual]¶
A virtual to insert additional header info into the request. Returns:array of header attributes to add.
Error ost::URLStream::get (const char *url, size_tbuffer = 512)¶
Get URL data from a named stream of a known buffer size. Returns:url error code.
Parameters:
url name of resource.
buffer size of buffer.
Error ost::URLStream::get (size_tbuffer = 512)¶
Get URL data from a named stream of a known buffer size. Requesting URL defined in previous calls of setAddress() and setHost() functions. Returns:url error code.
Parameters:
buffer size of buffer.
URLStream& ost::URLStream::getline (char *buffer, size_tlen)¶
Line parsing with conversion. Returns:URLStream object reference.
Parameters:
buffer to store.
len maximum buffer size.
Method ost::URLStream::getMethod (void) [inline]¶
Get url method (and protocol) employed. Returns:url method in effect.
Error ost::URLStream::head (const char *url, size_tbuffer = 512)¶
Used to fetch header information for a resource. Returns:url error code.
Parameters:
url name of resource.
buffer size of buffer.
virtual void ost::URLStream::httpHeader (const char *header, const char *value) [protected], [virtual]¶
Derived method to receive and parse http 'headers'. Parameters:header keyword.
value header keyword value.
Error ost::URLStream::post (const char *url, const char **vars, size_tbuffer = 512)¶
Post URL vars with post method. Returns:success or error code.
Parameters:
url name of resource being posted.
vars to set in post.
buffer size of buffer.
Error ost::URLStream::post (const char *url, MIMEMultipartForm &form, size_tbuffer = 512)¶
Post URL with MIME multipart form. Returns:success or error code.
Parameters:
url name of resource being posted.
form multi-part resource.
buffer size to use.
Error ost::URLStream::sendHTTPHeader (const char *url, const char **vars, size_tbufsize) [protected]¶
Send http header to server. Parameters:url base to send header to
vars to post or use in get method
bufsize of stream buffering to use
Returns:
success or class error
void ost::URLStream::setAddress (const char *str) [inline]¶
Set the address for the url. Parameters:str address in the URL.
void ost::URLStream::setAgent (const char *str) [inline]¶
Set the agent. Parameters:str agent value.
void ost::URLStream::setAuthentication ( Authenticationa, const char *str = NULL)¶
Set authentication type for the url. Parameters:a authentication.
str string.
void ost::URLStream::setCookie (const char *str) [inline]¶
Set the cookie to pass. Parameters:str cookie string.
void ost::URLStream::setFollow (boolenable) [inline]¶
Specify url following. Set to false to disable following of relocation requests. Parameters:enable true to enable following.
void ost::URLStream::setHost (const char *str) [inline]¶
Set the host for the url. Parameters:str host address.
void ost::URLStream::setLocalInterface (const char *intf) [inline]¶
Specify local interface to use. Parameters:intf Local interface name
void ost::URLStream::setPassword (const char *str) [inline]¶
Set password for the url. Parameters:str password.
void ost::URLStream::setPragma (const char *str) [inline]¶
Set the pragmas. Parameters:str pragma setting.
void ost::URLStream::setProtocol ( Protocolpro) [inline]¶
Specify http protocol level being used. Parameters:pro protocol level.
void ost::URLStream::setProxy (const char *host, tpport_tport)¶
Set the proxy server used. Parameters:host proxy host.
port proxy port.
void ost::URLStream::setProxyAuthentication ( Authenticationa, const char *str = NULL)¶
Set proxy authentication type for the url. Parameters:a authentication.
str string.
void ost::URLStream::setProxyPassword (const char *str) [inline]¶
Set proxy password for the url. Parameters:str password.
void ost::URLStream::setProxyUser (const char *str) [inline]¶
Set proxy user id for the url. Parameters:str user id.
void ost::URLStream::setReferer (const char *str)¶
Set the referer url. Parameters:str referer string.
void ost::URLStream::setTimeout ( timeout_tto) [inline]¶
Set socket timeout characteristics for processing URL requests. Set to 0 for no default timeouts. Parameters:to timeout to set.
void ost::URLStream::setUser (const char *str) [inline]¶
Set user id for the url. Parameters:str user id.
Error ost::URLStream::submit (const char *url, const char **vars, size_tbuffer = 512)¶
Submit URL with vars passed as argument array. This submit assumes 'GET' method. Use 'post' member to perform post. Returns:url error code.
Parameters:
url name of resource.
vars to set.
buffer size of buffer.
int ost::URLStream::underflow (void) [protected]¶
Called if stream buffer needs refilling. Returns:number of bytes refilled or error if < 0
Friends And Related Function Documentation¶
__EXPORT char * b64Decode (char *src, char *dest = NULL) [related]¶
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. Returns:string coded
Parameters:
src source buffer
dest destination buffer. If NULL src is used
__EXPORT size_t b64Decode (const char *src, unsigned char *dst, size_tdstsize) [related]¶
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). Returns:number of octets written into destination buffer
Parameters:
src source string
dst destination octet buffer
dstsize destination buffer size
__EXPORT String b64Decode (const String &src) [related]¶
Decode a STL string using base64 coding into an STL String. Destination size should be at least strlen(src)/4*3. Destination are not string terminated (It's just a octet stream). Returns:decoded string
Parameters:
src source string
__EXPORT size_t b64Decode (const String &src, unsigned char *dst, size_tdstsize) [related]¶
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). Returns:number of octets written into destination buffer
Parameters:
src source string
dst destination octet buffer
dstsize destination buffer size
__EXPORT char * b64Encode (const char *source, char *dest, size_tsize) [related]¶
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. Returns:destination buffer
Parameters:
source source string
dest destination octet buffer
size destination buffer size
__EXPORT size_t b64Encode (const unsigned char *src, size_tsrcsize, char *dst, size_tdstsize) [related]¶
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). Returns:size of string written not counting terminator
Parameters:
src source buffer
srcsize source buffer size
dst destination buffer
dstsize destination buffer size
__EXPORT String b64Encode (const String &src) [related]¶
Encode a STL string using base64 coding into a STL string Returns:base 64 encoded string
Parameters:
src source string
__EXPORT String b64Encode (const unsigned char *src, size_tsrcsize) [related]¶
Encode a octet stream using base64 coding into a STL string Returns:base 64 encoded string
Parameters:
src source buffer
srcsize source buffer size
__EXPORT char * urlDecode (char *source, char *dest = NULL) [related]¶
Decode an url parameter (ie '\%20' -> ' ') Parameters:source string
dest destination buffer. If NULL source is used
__EXPORT char * urlEncode (const char *source, char *dest, size_tsize) [related]¶
Encode an url parameter (ie ' ' -> '+') Parameters:source string
dest destination buffer. Do not overlap with source
size destination buffer size.
Member Data Documentation¶
ost::String ost::URLStream::m_address [protected]¶
ost::String ost::URLStream::m_host [protected]¶
Author¶
Generated automatically by Doxygen for GNU CommonC++ from the source code.Sun Dec 29 2013 | GNU CommonC++ |