1 /*
2  * Summary: minimal HTTP implementation
3  * Description: minimal HTTP implementation allowing to fetch resources
4  *              like external subset.
5  *
6  * Copy: See Copyright for the status of this software.
7  *
8  * Author: Daniel Veillard
9  */
10 
11 #ifndef __NANO_HTTP_H__
12 #define __NANO_HTTP_H__
13 
14 #include <libxml/xmlversion.h>
15 
16 #ifdef LIBXML_HTTP_ENABLED
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 XMLPUBFUN void XMLCALL
22 	xmlNanoHTTPInit		(void);
23 XMLPUBFUN void XMLCALL
24 	xmlNanoHTTPCleanup	(void);
25 XMLPUBFUN void XMLCALL
26 	xmlNanoHTTPScanProxy	(const char *URL);
27 XMLPUBFUN int XMLCALL
28 	xmlNanoHTTPFetch	(const char *URL,
29 				 const char *filename,
30 				 char **contentType);
31 XMLPUBFUN void * XMLCALL
32 	xmlNanoHTTPMethod	(const char *URL,
33 				 const char *method,
34 				 const char *input,
35 				 char **contentType,
36 				 const char *headers,
37 				 int   ilen);
38 XMLPUBFUN void * XMLCALL
39 	xmlNanoHTTPMethodRedir	(const char *URL,
40 				 const char *method,
41 				 const char *input,
42 				 char **contentType,
43 				 char **redir,
44 				 const char *headers,
45 				 int   ilen);
46 XMLPUBFUN void * XMLCALL
47 	xmlNanoHTTPOpen		(const char *URL,
48 				 char **contentType);
49 XMLPUBFUN void * XMLCALL
50 	xmlNanoHTTPOpenRedir	(const char *URL,
51 				 char **contentType,
52 				 char **redir);
53 XMLPUBFUN int XMLCALL
54 	xmlNanoHTTPReturnCode	(void *ctx);
55 XMLPUBFUN const char * XMLCALL
56 	xmlNanoHTTPAuthHeader	(void *ctx);
57 XMLPUBFUN const char * XMLCALL
58 	xmlNanoHTTPRedir	(void *ctx);
59 XMLPUBFUN int XMLCALL
60 	xmlNanoHTTPContentLength( void * ctx );
61 XMLPUBFUN const char * XMLCALL
62 	xmlNanoHTTPEncoding	(void *ctx);
63 XMLPUBFUN const char * XMLCALL
64 	xmlNanoHTTPMimeType	(void *ctx);
65 XMLPUBFUN int XMLCALL
66 	xmlNanoHTTPRead		(void *ctx,
67 				 void *dest,
68 				 int len);
69 #ifdef LIBXML_OUTPUT_ENABLED
70 XMLPUBFUN int XMLCALL
71 	xmlNanoHTTPSave		(void *ctxt,
72 				 const char *filename);
73 #endif /* LIBXML_OUTPUT_ENABLED */
74 XMLPUBFUN void XMLCALL
75 	xmlNanoHTTPClose	(void *ctx);
76 #ifdef __cplusplus
77 }
78 #endif
79 
80 #endif /* LIBXML_HTTP_ENABLED */
81 #endif /* __NANO_HTTP_H__ */
82