diff --git a/src/nginx.c b/src/nginx.c
index b0daa05b31a555732a0f58940d732df84de3b57d..4e4ce3bbc6115572873668a76507f80ccd82b316 100644 (file)
--- a/src/nginx.c
+++ b/src/nginx.c
static char *verify_peer = NULL;
static char *verify_host = NULL;
static char *cacert = NULL;
+static char *timeout = NULL;
static CURL *curl = NULL;
"Password",
"VerifyPeer",
"VerifyHost",
- "CACert"
+ "CACert",
+ "Timeout"
};
static int config_keys_num = STATIC_ARRAY_SIZE (config_keys);
return (config_set (&verify_host, value));
else if (strcasecmp (key, "cacert") == 0)
return (config_set (&cacert, value));
+ else if (strcasecmp (key, "timeout") == 0)
+ return (config_set (&timeout, value));
else
return (-1);
} /* int config */
curl_easy_setopt (curl, CURLOPT_CAINFO, cacert);
}
+#ifdef HAVE_CURLOPT_TIMEOUT_MS
+ if (timeout != NULL)
+ {
+ curl_easy_setopt (curl, CURLOPT_TIMEOUT_MS, atol(timeout));
+ }
+ else
+ {
+ curl_easy_setopt (curl, CURLOPT_TIMEOUT_MS,
+ CDTIME_T_TO_MS(plugin_get_interval()));
+ }
+#endif
+
return (0);
} /* void init */