19 #ifndef LIBREPORT_CURL_H_
20 #define LIBREPORT_CURL_H_
22 #include <curl/curl.h>
28 CURL* xcurl_easy_init();
31 CURLcode curl_easy_perform_with_proxy(CURL *handle,
const char *url);
51 char errmsg[CURL_ERROR_SIZE];
56 char *find_header_in_post_state(
post_state_t *state,
const char *str);
59 POST_WANT_HEADERS = (1 << 0),
60 POST_WANT_ERROR_MSG = (1 << 1),
61 POST_WANT_BODY = (1 << 2),
62 POST_WANT_SSL_VERIFY = (1 << 3),
66 POST_DATA_STRING = -1,
67 POST_DATA_FROMFILE = -2,
68 POST_DATA_FROMFILE_PUT = -3,
69 POST_DATA_FROMFILE_AS_FORM_DATA = -4,
70 POST_DATA_STRING_AS_FORM_DATA = -5,
75 const char *content_type,
76 const char **additional_headers,
82 const char *content_type,
83 const char **additional_headers,
86 return post(state, url, content_type, additional_headers,
87 str, POST_DATA_STRING);
92 const char *content_type,
93 const char **additional_headers,
96 return post(state, url, content_type, additional_headers,
97 str, POST_DATA_STRING_AS_FORM_DATA);
102 const char *content_type,
103 const char **additional_headers,
104 const char *filename)
106 return post(state, url, content_type, additional_headers,
107 filename, POST_DATA_FROMFILE);
112 const char *content_type,
113 const char **additional_headers,
114 const char *filename)
116 return post(state, url, content_type, additional_headers,
117 filename, POST_DATA_FROMFILE_AS_FORM_DATA);
120 #define upload_file libreport_upload_file
121 char *upload_file(
const char *url,
const char *filename);