#include <url.h>
Inheritance diagram for ost::URLStream:
Public Types | |
enum | Error { errSuccess = 0, errUnreachable, errMissing, errDenied, errInvalid, errForbidden, errUnauthorized, errRelocated, errFailure, errTimeout, errInterface } |
Return error for url fetch. More... | |
enum | Authentication { authAnonymous = 0, authBasic } |
Type of authentication. More... | |
enum | Encoding { encodingBinary = 0, encodingChunked } |
Encoding used in transfer. More... | |
enum | Method { methodHttpGet, methodHttpPut, methodHttpPost, methodHttpPostMultipart, methodFtpGet, methodFtpPut, methodFileGet, methodFilePut } |
Type of fetch. More... | |
enum | Protocol { protocolHttp1_0, protocolHttp1_1 } |
http protocol version More... | |
Public Member Functions | |
URLStream (Family family=IPV4, timeout_t timer=0) | |
Construct an instance of URL stream. | |
URLStream & | getline (char *buffer, size_t len) |
Line parsing with conversion. | |
Error | get (const char *url, size_t buffer=512) |
Get URL data from a named stream of a known buffer size. | |
Error | get (size_t buffer=512) |
Get URL data from a named stream of a known buffer size. | |
Error | submit (const char *url, const char **vars, size_t buffer=512) |
Submit URL with vars passed as argument array. | |
Error | post (const char *url, const char **vars, size_t buffer=512) |
Post URL vars with post method. | |
Error | post (const char *url, MIMEMultipartForm &form, size_t buffer=512) |
Post URL with MIME multipart form. | |
Error | head (const char *url, size_t buffer=512) |
Used to fetch header information for a resource. | |
void | close () |
Close the URL stream for a new connection. | |
void | setReferer (const char *str) |
Set the referer url. | |
void | setHost (const char *str) |
Set the host for the url. | |
void | setAddress (const char *str) |
Set the address for the url. | |
void | setCookie (const char *str) |
Set the cookie to pass. | |
void | setUser (const char *str) |
Set user id for the url. | |
void | setPassword (const char *str) |
Set password for the url. | |
void | setAuthentication (Authentication a, const char *str=NULL) |
Set authentication type for the url. | |
void | setProxyUser (const char *str) |
Set proxy user id for the url. | |
void | setProxyPassword (const char *str) |
Set proxy password for the url. | |
void | setProxyAuthentication (Authentication a, const char *str=NULL) |
Set proxy authentication type for the url. | |
void | setPragma (const char *str) |
Set the pragmas. | |
void | setProxy (const char *host, tpport_t port) |
Set the proxy server used. | |
void | setAgent (const char *str) |
Set the agent. | |
Method | getMethod (void) |
Get url method (and protocol) employed. | |
void | setTimeout (timeout_t to) |
Set socket timeout characteristics for processing URL requests. | |
void | setFollow (bool enable) |
Specify url following. | |
void | setProtocol (Protocol pro) |
Specify http protocol level being used. | |
void | setLocalInterface (const char *intf) |
Specify local interface to use. | |
Protected Member Functions | |
Error | sendHTTPHeader (const char *url, const char **vars, size_t bufsize) |
Send http header to server. | |
int | underflow (void) |
Called if stream buffer needs refilling. | |
virtual int | aRead (char *buffer, size_t len, timeout_t timer) |
Derived method for async or timed I/O function on url stream. | |
virtual int | aWrite (char *buffer, size_t len, timeout_t timer) |
Derived method for async or timed I/O function on url stream. | |
virtual void | httpHeader (const char *header, const char *value) |
Derived method to receive and parse http "headers". | |
virtual char ** | extraHeader (void) |
A virtual to insert additional header info into the request. | |
Protected Attributes | |
ost::String | m_host |
ost::String | m_address |
Related Functions | |
(Note that these are not member functions.) | |
__EXPORT char * | urlDecode (char *source, char *dest=NULL) |
__EXPORT char * | urlEncode (const char *source, char *dest, size_t size) |
__EXPORT char * | b64Decode (char *src, char *dest=NULL) |
__EXPORT char * | b64Encode (const char *source, char *dest, size_t size) |
__EXPORT size_t | b64Encode (const unsigned char *src, size_t srcsize, char *dst, size_t dstsize) |
__EXPORT size_t | b64Decode (const char *src, unsigned char *dst, size_t dstsize) |
__EXPORT String | b64Encode (const String &src) |
__EXPORT String | b64Decode (const String &src) |
__EXPORT String | b64Encode (const unsigned char *src, size_t srcsize) |
__EXPORT size_t | b64Decode (const String &src, unsigned char *dst, size_t dstsize) |
urlfetch.cpp, and xmlfetch.cpp.
|
Type of authentication.
|
|
Encoding used in transfer.
|
|
Return error for url fetch.
Reimplemented from ost::Socket. |
|
Type of fetch.
|
|
http protocol version
|
|
Construct an instance of URL stream.
|
|
Derived method for async or timed I/O function on url stream.
|
|
Derived method for async or timed I/O function on url stream.
|
|
Close the URL stream for a new connection.
|
|
A virtual to insert additional header info into the request.
|
|
Get URL data from a named stream of a known buffer size. Requesting URL defined in previous calls of setAddress() and setHost() functions.
|
|
Get URL data from a named stream of a known buffer size.
|
|
Line parsing with conversion.
|
|
Get url method (and protocol) employed.
|
|
Used to fetch header information for a resource.
|
|
Derived method to receive and parse http "headers".
|
|
Post URL with MIME multipart form.
|
|
Post URL vars with post method.
|
|
Send http header to server.
|
|
Set the address for the url.
|
|
Set the agent.
|
|
Set authentication type for the url.
|
|
Set the cookie to pass.
|
|
Specify url following. Set to false to disable following of relocation requests.
|
|
Set the host for the url.
|
|
Specify local interface to use.
|
|
Set password for the url.
|
|
Set the pragmas.
|
|
Specify http protocol level being used.
|
|
Set the proxy server used.
|
|
Set proxy authentication type for the url.
|
|
Set proxy password for the url.
|
|
Set proxy user id for the url.
|
|
Set the referer url.
|
|
Set socket timeout characteristics for processing URL requests. Set to 0 for no default timeouts.
Reimplemented from ost::TCPStream. |
|
Set user id for the url.
|
|
Submit URL with vars passed as argument array. This submit assumes "GET" method. Use "post" member to perform post.
|
|
Called if stream buffer needs refilling.
Reimplemented from ost::TCPStream. |
|
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).
|
|
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).
|
|
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).
|
|
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.
|
|
Encode a octet stream using base64 coding into a STL string
|
|
Encode a STL string using base64 coding into a STL string
|
|
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).
|
|
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.
|
|
Decode an url parameter (ie "\%20" -> " ")
|
|
Encode an url parameter (ie " " -> "+")
|
|
|
|
|