nanohttp

nanohttp —

Synopsis




void        xmlNanoHTTPInit                 (void);
void        xmlNanoHTTPCleanup              (void);
void        xmlNanoHTTPScanProxy            (const char *URL);
int         xmlNanoHTTPFetch                (const char *URL,
                                             const char *filename,
                                             char **contentType);
void*       xmlNanoHTTPMethod               (const char *URL,
                                             const char *method,
                                             const char *input,
                                             char **contentType,
                                             const char *headers,
                                             int ilen);
void*       xmlNanoHTTPMethodRedir          (const char *URL,
                                             const char *method,
                                             const char *input,
                                             char **contentType,
                                             char **redir,
                                             const char *headers,
                                             int ilen);
void*       xmlNanoHTTPOpen                 (const char *URL,
                                             char **contentType);
void*       xmlNanoHTTPOpenRedir            (const char *URL,
                                             char **contentType,
                                             char **redir);
int         xmlNanoHTTPReturnCode           (void *ctx);
const char* xmlNanoHTTPAuthHeader           (void *ctx);
const char* xmlNanoHTTPRedir                (void *ctx);
const char* xmlNanoHTTPEncoding             (void *ctx);
const char* xmlNanoHTTPMimeType             (void *ctx);
int         xmlNanoHTTPRead                 (void *ctx,
                                             void *dest,
                                             int len);
int         xmlNanoHTTPSave                 (void *ctxt,
                                             const char *filename);
void        xmlNanoHTTPClose                (void *ctx);

Description

Details

xmlNanoHTTPInit ()

void        xmlNanoHTTPInit                 (void);

Initialize the HTTP protocol layer. Currently it just checks for proxy informations


xmlNanoHTTPCleanup ()

void        xmlNanoHTTPCleanup              (void);

Cleanup the HTTP protocol layer.


xmlNanoHTTPScanProxy ()

void        xmlNanoHTTPScanProxy            (const char *URL);

(Re)Initialize the HTTP Proxy context by parsing the URL and finding the protocol host port it indicates. Should be like http://myproxy/ or http://myproxy:3128/ A NULL URL cleans up proxy informations.

URL: The proxy URL used to initialize the proxy context

xmlNanoHTTPFetch ()

int         xmlNanoHTTPFetch                (const char *URL,
                                             const char *filename,
                                             char **contentType);

This function try to fetch the indicated resource via HTTP GET and save it's content in the file.

URL: The URL to load
filename: the filename where the content should be saved
contentType: if available the Content-Type information will be returned at that location
Returns :-1 in case of failure, 0 incase of success. The contentType, if provided must be freed by the caller

xmlNanoHTTPMethod ()

void*       xmlNanoHTTPMethod               (const char *URL,
                                             const char *method,
                                             const char *input,
                                             char **contentType,
                                             const char *headers,
                                             int ilen);

This function try to open a connection to the indicated resource via HTTP using the given method, adding the given extra headers and the input buffer for the request content.

URL: The URL to load
method: the HTTP method to use
input: the input string if any
contentType: the Content-Type information IN and OUT
headers: the extra headers
ilen: input length

xmlNanoHTTPMethodRedir ()

void*       xmlNanoHTTPMethodRedir          (const char *URL,
                                             const char *method,
                                             const char *input,
                                             char **contentType,
                                             char **redir,
                                             const char *headers,
                                             int ilen);

This function try to open a connection to the indicated resource via HTTP using the given method, adding the given extra headers and the input buffer for the request content.

URL: The URL to load
method: the HTTP method to use
input: the input string if any
contentType: the Content-Type information IN and OUT
redir: the redirected URL OUT
headers: the extra headers
ilen: input length

xmlNanoHTTPOpen ()

void*       xmlNanoHTTPOpen                 (const char *URL,
                                             char **contentType);

This function try to open a connection to the indicated resource via HTTP GET.

URL: The URL to load
contentType: if available the Content-Type information will be returned at that location

xmlNanoHTTPOpenRedir ()

void*       xmlNanoHTTPOpenRedir            (const char *URL,
                                             char **contentType,
                                             char **redir);

This function try to open a connection to the indicated resource via HTTP GET.

URL: The URL to load
contentType: if available the Content-Type information will be returned at that location
redir: if available the redirected URL will be returned

xmlNanoHTTPReturnCode ()

int         xmlNanoHTTPReturnCode           (void *ctx);

Get the latest HTTP return code received

ctx: the HTTP context
Returns :the HTTP return code for the request.

xmlNanoHTTPAuthHeader ()

const char* xmlNanoHTTPAuthHeader           (void *ctx);

Get the authentication header of an HTTP context

ctx: the HTTP context
Returns :the stashed value of the WWW-Authenticate or Proxy-Authenticate header.

xmlNanoHTTPRedir ()

const char* xmlNanoHTTPRedir                (void *ctx);

Provides the specified redirection URL if available from the HTTP header.

Return the specified redirection URL or NULL if not redirected.

ctx: the HTTP context
Returns :

xmlNanoHTTPEncoding ()

const char* xmlNanoHTTPEncoding             (void *ctx);

Provides the specified encoding if specified in the HTTP headers.

Return the specified encoding or NULL if not available

ctx: the HTTP context
Returns :

xmlNanoHTTPMimeType ()

const char* xmlNanoHTTPMimeType             (void *ctx);

Provides the specified Mime-Type if specified in the HTTP headers.

Return the specified Mime-Type or NULL if not available

ctx: the HTTP context
Returns :

xmlNanoHTTPRead ()

int         xmlNanoHTTPRead                 (void *ctx,
                                             void *dest,
                                             int len);

This function tries to read len bytes from the existing HTTP connection and saves them in dest. This is a blocking call.

ctx: the HTTP context
dest: a buffer
len: the buffer length
Returns :the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.

xmlNanoHTTPSave ()

int         xmlNanoHTTPSave                 (void *ctxt,
                                             const char *filename);

This function saves the output of the HTTP transaction to a file It closes and free the context at the end

ctxt: the HTTP context
filename: the filename where the content should be saved
Returns :-1 in case of failure, 0 incase of success.

xmlNanoHTTPClose ()

void        xmlNanoHTTPClose                (void *ctx);

This function closes an HTTP context, it ends up the connection and free all data related to it.

ctx: the HTTP context