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