15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Summary: minimal HTTP implementation 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Description: minimal HTTP implementation allowing to fetch resources 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * like external subset. 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copy: See Copyright for the status of this software. 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Author: Daniel Veillard 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef __NANO_HTTP_H__ 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define __NANO_HTTP_H__ 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/xmlversion.h> 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_HTTP_ENABLED 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern "C" { 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNanoHTTPInit (void); 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNanoHTTPCleanup (void); 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNanoHTTPScanProxy (const char *URL); 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNanoHTTPFetch (const char *URL, 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char *filename, 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) char **contentType); 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void * XMLCALL 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNanoHTTPMethod (const char *URL, 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char *method, 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char *input, 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) char **contentType, 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char *headers, 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int ilen); 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void * XMLCALL 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNanoHTTPMethodRedir (const char *URL, 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char *method, 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char *input, 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) char **contentType, 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) char **redir, 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char *headers, 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int ilen); 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void * XMLCALL 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNanoHTTPOpen (const char *URL, 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) char **contentType); 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void * XMLCALL 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNanoHTTPOpenRedir (const char *URL, 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) char **contentType, 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) char **redir); 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNanoHTTPReturnCode (void *ctx); 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const char * XMLCALL 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNanoHTTPAuthHeader (void *ctx); 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const char * XMLCALL 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNanoHTTPRedir (void *ctx); 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNanoHTTPContentLength( void * ctx ); 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const char * XMLCALL 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNanoHTTPEncoding (void *ctx); 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const char * XMLCALL 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNanoHTTPMimeType (void *ctx); 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNanoHTTPRead (void *ctx, 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void *dest, 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int len); 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_OUTPUT_ENABLED 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNanoHTTPSave (void *ctxt, 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char *filename); 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_OUTPUT_ENABLED */ 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNanoHTTPClose (void *ctx); 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_HTTP_ENABLED */ 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* __NANO_HTTP_H__ */ 82