diff options
Diffstat (limited to 'src/common/linux/http_upload.cc')
-rw-r--r-- | src/common/linux/http_upload.cc | 9 |
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 |