1 /* libxml2 - Library for parsing XML documents 2 * Copyright (C) 2006-2019 Free Software Foundation, Inc. 3 * 4 * This file is not part of the GNU gettext program, but is used with 5 * GNU gettext. 6 * 7 * The original copyright notice is as follows: 8 */ 9 10 /* 11 * Copyright (C) 1998-2012 Daniel Veillard. All Rights Reserved. 12 * 13 * Permission is hereby granted, free of charge, to any person obtaining a copy 14 * of this software and associated documentation files (the "Software"), to deal 15 * in the Software without restriction, including without limitation the rights 16 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 17 * copies of the Software, and to permit persons to whom the Software is fur- 18 * nished to do so, subject to the following conditions: 19 * 20 * The above copyright notice and this permission notice shall be included in 21 * all copies or substantial portions of the Software. 22 * 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 24 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- 25 * NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 26 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 27 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 28 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 29 * THE SOFTWARE. 30 * 31 * Author: Daniel Veillard 32 */ 33 34 /* 35 * Summary: minimal HTTP implementation 36 * Description: minimal HTTP implementation allowing to fetch resources 37 * like external subset. 38 */ 39 40 #ifndef __NANO_HTTP_H__ 41 #define __NANO_HTTP_H__ 42 43 #include <libxml/xmlversion.h> 44 45 #ifdef LIBXML_HTTP_ENABLED 46 47 #ifdef __cplusplus 48 extern "C" { 49 #endif 50 XMLPUBFUN void XMLCALL 51 xmlNanoHTTPInit (void); 52 XMLPUBFUN void XMLCALL 53 xmlNanoHTTPCleanup (void); 54 XMLPUBFUN void XMLCALL 55 xmlNanoHTTPScanProxy (const char *URL); 56 XMLPUBFUN int XMLCALL 57 xmlNanoHTTPFetch (const char *URL, 58 const char *filename, 59 char **contentType); 60 XMLPUBFUN void * XMLCALL 61 xmlNanoHTTPMethod (const char *URL, 62 const char *method, 63 const char *input, 64 char **contentType, 65 const char *headers, 66 int ilen); 67 XMLPUBFUN void * XMLCALL 68 xmlNanoHTTPMethodRedir (const char *URL, 69 const char *method, 70 const char *input, 71 char **contentType, 72 char **redir, 73 const char *headers, 74 int ilen); 75 XMLPUBFUN void * XMLCALL 76 xmlNanoHTTPOpen (const char *URL, 77 char **contentType); 78 XMLPUBFUN void * XMLCALL 79 xmlNanoHTTPOpenRedir (const char *URL, 80 char **contentType, 81 char **redir); 82 XMLPUBFUN int XMLCALL 83 xmlNanoHTTPReturnCode (void *ctx); 84 XMLPUBFUN const char * XMLCALL 85 xmlNanoHTTPAuthHeader (void *ctx); 86 XMLPUBFUN const char * XMLCALL 87 xmlNanoHTTPRedir (void *ctx); 88 XMLPUBFUN int XMLCALL 89 xmlNanoHTTPContentLength( void * ctx ); 90 XMLPUBFUN const char * XMLCALL 91 xmlNanoHTTPEncoding (void *ctx); 92 XMLPUBFUN const char * XMLCALL 93 xmlNanoHTTPMimeType (void *ctx); 94 XMLPUBFUN int XMLCALL 95 xmlNanoHTTPRead (void *ctx, 96 void *dest, 97 int len); 98 #ifdef LIBXML_OUTPUT_ENABLED 99 XMLPUBFUN int XMLCALL 100 xmlNanoHTTPSave (void *ctxt, 101 const char *filename); 102 #endif /* LIBXML_OUTPUT_ENABLED */ 103 XMLPUBFUN void XMLCALL 104 xmlNanoHTTPClose (void *ctx); 105 #ifdef __cplusplus 106 } 107 #endif 108 109 #endif /* LIBXML_HTTP_ENABLED */ 110 #endif /* __NANO_HTTP_H__ */ 111