blob: 22b8fb43381c816464bcf47715db7f80a62a95d6 [file] [log] [blame]
Owen Taylor3473f882001-02-23 17:55:21 +00001/*
Daniel Veillardbe586972003-11-18 20:56:51 +00002 * Summary: minimal HTTP implementation
3 * Description: minimal HTTP implementation allowing to fetch resources
4 * like external subset.
Owen Taylor3473f882001-02-23 17:55:21 +00005 *
Daniel Veillardbe586972003-11-18 20:56:51 +00006 * Copy: See Copyright for the status of this software.
Owen Taylor3473f882001-02-23 17:55:21 +00007 *
Daniel Veillardbe586972003-11-18 20:56:51 +00008 * Author: Daniel Veillard
Owen Taylor3473f882001-02-23 17:55:21 +00009 */
Daniel Veillardf8e3db02012-09-11 13:26:36 +080010
Owen Taylor3473f882001-02-23 17:55:21 +000011#ifndef __NANO_HTTP_H__
12#define __NANO_HTTP_H__
13
14#include <libxml/xmlversion.h>
Igor Zlatkovic7ae91bc2002-11-08 17:18:52 +000015
Owen Taylor3473f882001-02-23 17:55:21 +000016#ifdef LIBXML_HTTP_ENABLED
17
18#ifdef __cplusplus
19extern "C" {
20#endif
Igor Zlatkovic76874e42003-08-25 09:05:12 +000021XMLPUBFUN void XMLCALL
22 xmlNanoHTTPInit (void);
Daniel Veillardf8e3db02012-09-11 13:26:36 +080023XMLPUBFUN void XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000024 xmlNanoHTTPCleanup (void);
Daniel Veillardf8e3db02012-09-11 13:26:36 +080025XMLPUBFUN void XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000026 xmlNanoHTTPScanProxy (const char *URL);
Daniel Veillardf8e3db02012-09-11 13:26:36 +080027XMLPUBFUN int XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000028 xmlNanoHTTPFetch (const char *URL,
Owen Taylor3473f882001-02-23 17:55:21 +000029 const char *filename,
30 char **contentType);
Daniel Veillardf8e3db02012-09-11 13:26:36 +080031XMLPUBFUN void * XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000032 xmlNanoHTTPMethod (const char *URL,
Owen Taylor3473f882001-02-23 17:55:21 +000033 const char *method,
34 const char *input,
35 char **contentType,
Daniel Veillardf012a642001-07-23 19:10:52 +000036 const char *headers,
37 int ilen);
Daniel Veillardf8e3db02012-09-11 13:26:36 +080038XMLPUBFUN void * XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000039 xmlNanoHTTPMethodRedir (const char *URL,
Daniel Veillard9403a042001-05-28 11:00:53 +000040 const char *method,
41 const char *input,
42 char **contentType,
43 char **redir,
Daniel Veillardf012a642001-07-23 19:10:52 +000044 const char *headers,
45 int ilen);
Daniel Veillardf8e3db02012-09-11 13:26:36 +080046XMLPUBFUN void * XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000047 xmlNanoHTTPOpen (const char *URL,
Owen Taylor3473f882001-02-23 17:55:21 +000048 char **contentType);
Daniel Veillardf8e3db02012-09-11 13:26:36 +080049XMLPUBFUN void * XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000050 xmlNanoHTTPOpenRedir (const char *URL,
Daniel Veillard9403a042001-05-28 11:00:53 +000051 char **contentType,
52 char **redir);
Daniel Veillardf8e3db02012-09-11 13:26:36 +080053XMLPUBFUN int XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000054 xmlNanoHTTPReturnCode (void *ctx);
Daniel Veillardf8e3db02012-09-11 13:26:36 +080055XMLPUBFUN const char * XMLCALL
Daniel Veillard847332a2003-10-18 11:29:40 +000056 xmlNanoHTTPAuthHeader (void *ctx);
57XMLPUBFUN const char * XMLCALL
Daniel Veillarda840b692003-10-19 13:35:37 +000058 xmlNanoHTTPRedir (void *ctx);
William M. Brack13dfa872004-09-18 04:52:08 +000059XMLPUBFUN int XMLCALL
60 xmlNanoHTTPContentLength( void * ctx );
Daniel Veillard847332a2003-10-18 11:29:40 +000061XMLPUBFUN const char * XMLCALL
Daniel Veillarda840b692003-10-19 13:35:37 +000062 xmlNanoHTTPEncoding (void *ctx);
63XMLPUBFUN const char * XMLCALL
64 xmlNanoHTTPMimeType (void *ctx);
Daniel Veillardf8e3db02012-09-11 13:26:36 +080065XMLPUBFUN int XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000066 xmlNanoHTTPRead (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +000067 void *dest,
68 int len);
Daniel Veillarda9cce9c2003-09-29 13:20:24 +000069#ifdef LIBXML_OUTPUT_ENABLED
Daniel Veillardf8e3db02012-09-11 13:26:36 +080070XMLPUBFUN int XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000071 xmlNanoHTTPSave (void *ctxt,
Owen Taylor3473f882001-02-23 17:55:21 +000072 const char *filename);
Daniel Veillarda9cce9c2003-09-29 13:20:24 +000073#endif /* LIBXML_OUTPUT_ENABLED */
Daniel Veillardf8e3db02012-09-11 13:26:36 +080074XMLPUBFUN void XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000075 xmlNanoHTTPClose (void *ctx);
Owen Taylor3473f882001-02-23 17:55:21 +000076#ifdef __cplusplus
77}
Igor Zlatkovic76874e42003-08-25 09:05:12 +000078#endif
Owen Taylor3473f882001-02-23 17:55:21 +000079
80#endif /* LIBXML_HTTP_ENABLED */
Owen Taylor3473f882001-02-23 17:55:21 +000081#endif /* __NANO_HTTP_H__ */