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
22 xmlNanoHTTPInit (void);
23 XMLPUBFUN void
24 xmlNanoHTTPCleanup (void);
25 XMLPUBFUN void
26 xmlNanoHTTPScanProxy (const char *URL);
27 XMLPUBFUN int
28 xmlNanoHTTPFetch (const char *URL,
29 const char *filename,
30 char **contentType);
31 XMLPUBFUN void *
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 *
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 *
47 xmlNanoHTTPOpen (const char *URL,
48 char **contentType);
49 XMLPUBFUN void *
50 xmlNanoHTTPOpenRedir (const char *URL,
51 char **contentType,
52 char **redir);
53 XMLPUBFUN int
54 xmlNanoHTTPReturnCode (void *ctx);
55 XMLPUBFUN const char *
56 xmlNanoHTTPAuthHeader (void *ctx);
57 XMLPUBFUN const char *
58 xmlNanoHTTPRedir (void *ctx);
59 XMLPUBFUN int
60 xmlNanoHTTPContentLength( void * ctx );
61 XMLPUBFUN const char *
62 xmlNanoHTTPEncoding (void *ctx);
63 XMLPUBFUN const char *
64 xmlNanoHTTPMimeType (void *ctx);
65 XMLPUBFUN int
66 xmlNanoHTTPRead (void *ctx,
67 void *dest,
68 int len);
69 #ifdef LIBXML_OUTPUT_ENABLED
70 XMLPUBFUN int
71 xmlNanoHTTPSave (void *ctxt,
72 const char *filename);
73 #endif /* LIBXML_OUTPUT_ENABLED */
74 XMLPUBFUN void
75 xmlNanoHTTPClose (void *ctx);
76 #ifdef __cplusplus
77 }
78 #endif
79
80 #endif /* LIBXML_HTTP_ENABLED */
81 #endif /* __NANO_HTTP_H__ */