[have_curlopt_timeout="no"],
[[#include <curl/curl.h>]]
)
+
+ AC_CHECK_DECL(CURLOPT_UNIX_SOCKET_PATH,
+ [have_curlopt_unix_socket_path="yes"],
+ [have_curlopt_unix_socket_path="no"],
+ [[#include <curl/curl.h>]]
+ )
fi
fi
[Define if libcurl supports CURLOPT_TIMEOUT_MS option.]
)
fi
+
+ if test "x$have_curlopt_unix_socket_path" = "xyes"; then
+ AC_DEFINE([HAVE_CURLOPT_UNIX_SOCKET_PATH], [1],
+ [Define if libcurl supports CURLOPT_UNIX_SOCKET_PATH option.]
+ )
+ fi
fi
AC_SUBST(BUILD_WITH_LIBCURL_CFLAGS)
static char *verify_host;
static char *cacert;
static char *timeout;
+static char *sock;
static CURL *curl;
static size_t nginx_buffer_len;
static char nginx_curl_error[CURL_ERROR_SIZE];
-static const char *config_keys[] = {
- "URL", "User", "Password", "VerifyPeer", "VerifyHost", "CACert", "Timeout"};
+static const char *config_keys[] = {"URL", "User", "Password",
+ "VerifyPeer", "VerifyHost", "CACert",
+ "Timeout", "Socket"};
static int config_keys_num = STATIC_ARRAY_SIZE(config_keys);
static size_t nginx_curl_callback(void *buf, size_t size, size_t nmemb,
return config_set(&cacert, value);
else if (strcasecmp(key, "timeout") == 0)
return config_set(&timeout, value);
+ else if (strcasecmp(key, "socket") == 0)
+ return config_set(&sock, value);
else
return -1;
} /* int config */
}
#endif
+#ifdef HAVE_CURLOPT_UNIX_SOCKET_PATH
+ if (sock != NULL) {
+ curl_easy_setopt(curl, CURLOPT_UNIX_SOCKET_PATH, sock);
+ }
+#endif
+
return 0;
} /* void init */