Module nanohttp from libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

Module nanohttp from libxml2

API Menu
API Indexes
Related links

minimal HTTP implementation allowing to fetch resources like external subset.

Table of Contents

const char *	xmlNanoHTTPAuthHeader	(void * ctx)
void	xmlNanoHTTPCleanup		(void)
void	xmlNanoHTTPClose		(void * ctx)
int	xmlNanoHTTPContentLength	(void * ctx)
const char *	xmlNanoHTTPEncoding	(void * ctx)
int	xmlNanoHTTPFetch		(const char * URL, 
const char * filename,
char ** contentType)
void	xmlNanoHTTPInit			(void)
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)
const char *	xmlNanoHTTPMimeType	(void * ctx)
void *	xmlNanoHTTPOpen			(const char * URL, 
char ** contentType)
void *	xmlNanoHTTPOpenRedir		(const char * URL, 
char ** contentType,
char ** redir)
int	xmlNanoHTTPRead			(void * ctx, 
void * dest,
int len)
const char *	xmlNanoHTTPRedir	(void * ctx)
int	xmlNanoHTTPReturnCode		(void * ctx)
int	xmlNanoHTTPSave			(void * ctxt, 
const char * filename)
void	xmlNanoHTTPScanProxy		(const char * URL)

Description

Function: 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.

Function: xmlNanoHTTPCleanup

void	xmlNanoHTTPCleanup		(void)

Cleanup the HTTP protocol layer.

Function: 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

Function: xmlNanoHTTPContentLength

int	xmlNanoHTTPContentLength	(void * ctx)

Provides the specified content length from the HTTP header.

ctx:the HTTP context
Returns:the specified content length from the HTTP header. Note that a value of -1 indicates that the content length element was not included in the response header.

Function: xmlNanoHTTPEncoding

const char *	xmlNanoHTTPEncoding	(void * ctx)

Provides the specified encoding if specified in the HTTP headers.

ctx:the HTTP context
Returns:the specified encoding or NULL if not available

Function: 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

Function: xmlNanoHTTPInit

void	xmlNanoHTTPInit			(void)

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

Function: 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
Returns:NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller

Function: 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
Returns:NULL in case of failure, otherwise a request handler. The contentType, or redir, if provided must be freed by the caller

Function: xmlNanoHTTPMimeType

const char *	xmlNanoHTTPMimeType	(void * ctx)

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

ctx:the HTTP context
Returns:the specified Mime-Type or NULL if not available

Function: 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
Returns:NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller

Function: 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
Returns:NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller

Function: 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.

Function: xmlNanoHTTPRedir

const char *	xmlNanoHTTPRedir	(void * ctx)

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

ctx:the HTTP context
Returns:the specified redirection URL or NULL if not redirected.

Function: xmlNanoHTTPReturnCode

int	xmlNanoHTTPReturnCode		(void * ctx)

Get the latest HTTP return code received

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

Function: 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.

Function: 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

Daniel Veillard