aboutsummaryrefslogtreecommitdiff
path: root/src/common/linux/http_upload.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/linux/http_upload.cc')
-rw-r--r--src/common/linux/http_upload.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/common/linux/http_upload.cc b/src/common/linux/http_upload.cc
index 857dc141..f69237c8 100644
--- a/src/common/linux/http_upload.cc
+++ b/src/common/linux/http_upload.cc
@@ -62,7 +62,11 @@ bool HTTPUpload::SendRequest(const string &url,
const string &proxy_user_pwd,
const string &ca_certificate_file,
string *response_body,
+ long *response_code,
string *error_description) {
+ if (response_code != NULL)
+ *response_code = 0;
+
if (!CheckParameters(parameters))
return false;
@@ -149,6 +153,11 @@ bool HTTPUpload::SendRequest(const string &url,
CURLcode (*curl_easy_perform)(CURL *);
*(void**) (&curl_easy_perform) = dlsym(curl_lib, "curl_easy_perform");
err_code = (*curl_easy_perform)(curl);
+ if (response_code != NULL) {
+ CURLcode (*curl_easy_getinfo)(CURL *, CURLINFO, ...);
+ *(void**) (&curl_easy_getinfo) = dlsym(curl_lib, "curl_easy_getinfo");
+ (*curl_easy_getinfo)(curl, CURLINFO_RESPONSE_CODE, response_code);
+ }
const char* (*curl_easy_strerror)(CURLcode);
*(void**) (&curl_easy_strerror) = dlsym(curl_lib, "curl_easy_strerror");
#ifndef NDEBUG