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);
38 const char *client_cert_path;
39 const char *client_key_path;
53 char errmsg[CURL_ERROR_SIZE];
58 char *find_header_in_post_state(
post_state_t *state,
const char *str);
61 POST_WANT_HEADERS = (1 << 0),
62 POST_WANT_ERROR_MSG = (1 << 1),
63 POST_WANT_BODY = (1 << 2),
64 POST_WANT_SSL_VERIFY = (1 << 3),
68 POST_DATA_STRING = -1,
69 POST_DATA_FROMFILE = -2,
70 POST_DATA_FROMFILE_PUT = -3,
71 POST_DATA_FROMFILE_AS_FORM_DATA = -4,
72 POST_DATA_STRING_AS_FORM_DATA = -5,
77 const char *content_type,
78 const char **additional_headers,
84 const char *content_type,
85 const char **additional_headers,
88 return post(state, url, content_type, additional_headers,
89 str, POST_DATA_STRING);
94 const char *content_type,
95 const char **additional_headers,
98 return post(state, url, content_type, additional_headers,
99 str, POST_DATA_STRING_AS_FORM_DATA);
104 const char *content_type,
105 const char **additional_headers,
106 const char *filename)
108 return post(state, url, content_type, additional_headers,
109 filename, POST_DATA_FROMFILE);
114 const char *content_type,
115 const char **additional_headers,
116 const char *filename)
118 return post(state, url, content_type, additional_headers,
119 filename, POST_DATA_FROMFILE_AS_FORM_DATA);
123 UPLOAD_FILE_NOFLAGS = 0,
124 UPLOAD_FILE_HANDLE_ACCESS_DENIALS = 1 << 0,
127 #define upload_file libreport_upload_file
128 char *upload_file(
const char *url,
const char *filename);
130 #define upload_file_ext libreport_upload_file_ext
133 const char *filename,