projects
/
collectd.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
968d1bd
)
http plugin: Initialze curl every time, to we don't clobber things
author
Paul Sadauskas
<psadauskas@gmail.com>
Mon, 15 Jun 2009 01:52:18 +0000
(19:52 -0600)
committer
Florian Forster
<octo@leeloo.lan.home.verplant.org>
Fri, 21 Aug 2009 06:41:53 +0000
(08:41 +0200)
src/http.c
patch
|
blob
|
history
diff --git
a/src/http.c
b/src/http.c
index
2cce580
..
d58eda4
100644
(file)
--- a/
src/http.c
+++ b/
src/http.c
@@
-44,25
+44,16
@@
char *user;
char *pass;
char *credentials;
char *pass;
char *credentials;
-CURL *curl;
-char curl_errbuf[CURL_ERROR_SIZE];
-struct curl_slist *headers=NULL;
-
-static int http_init(void)
+static int http_init_curl(CURL *curl, char curl_errbuf[])
{
{
-
- curl = curl_easy_init ();
- if (curl == NULL)
- {
- ERROR ("curl plugin: curl_easy_init failed.");
- return (-1);
- }
+ struct curl_slist *headers=NULL;
curl_easy_setopt (curl, CURLOPT_USERAGENT, PACKAGE_NAME"/"PACKAGE_VERSION);
curl_easy_setopt (curl, CURLOPT_USERAGENT, PACKAGE_NAME"/"PACKAGE_VERSION);
- headers = curl_slist_append(headers, "Accept: application/vnd.absperf.ssbe+json");
- headers = curl_slist_append(headers, "Content-Type: text/csv");
+ headers = curl_slist_append(headers, "Accept: text/csv");
+ headers = curl_slist_append(headers, "Content-Type: text/csv");
curl_easy_setopt (curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt (curl, CURLOPT_HTTPHEADER, headers);
+
curl_easy_setopt (curl, CURLOPT_ERRORBUFFER, curl_errbuf);
curl_easy_setopt (curl, CURLOPT_URL, location);
curl_easy_setopt (curl, CURLOPT_ERRORBUFFER, curl_errbuf);
curl_easy_setopt (curl, CURLOPT_URL, location);
@@
-90,6
+81,11
@@
static int http_init(void)
return (0);
}
return (0);
}
+static int http_init(void)
+{
+ return (0);
+}
+
static int value_list_to_string (char *buffer, int buffer_len,
const data_set_t *ds, const value_list_t *vl, int index)
{
static int value_list_to_string (char *buffer, int buffer_len,
const data_set_t *ds, const value_list_t *vl, int index)
{
@@
-287,6
+283,9
@@
static int http_config (const char *key, const char *value)
static int http_write (const data_set_t *ds, const value_list_t *vl,
user_data_t __attribute__((unused)) *user_data)
{
static int http_write (const data_set_t *ds, const value_list_t *vl,
user_data_t __attribute__((unused)) *user_data)
{
+ CURL *curl;
+ char curl_errbuf[CURL_ERROR_SIZE];
+
char metric_name[512];
int metric_prefix_len;
char value[512];
char metric_name[512];
int metric_prefix_len;
char value[512];
@@
-303,6
+302,15
@@
static int http_write (const data_set_t *ds, const value_list_t *vl,
return -1;
}
return -1;
}
+ curl = curl_easy_init ();
+ if (curl == NULL)
+ {
+ ERROR ("curl plugin: curl_easy_init failed.");
+ return (-1);
+ }
+
+ http_init_curl(curl, curl_errbuf);
+
metric_prefix_len = value_list_to_metric_name (metric_name,
sizeof (metric_name), ds, vl);
metric_prefix_len = value_list_to_metric_name (metric_name,
sizeof (metric_name), ds, vl);