Issue 221 - HTTPUpload::SendRequest should provide error code or error description to callers. r=Liu Li
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@228 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
parent
8eb7111814
commit
feff0b300f
@ -61,12 +61,15 @@ bool HTTPUpload::SendRequest(const string &url,
|
|||||||
const string &file_part_name,
|
const string &file_part_name,
|
||||||
const string &proxy,
|
const string &proxy,
|
||||||
const string &proxy_user_pwd,
|
const string &proxy_user_pwd,
|
||||||
string *response_body) {
|
string *response_body,
|
||||||
|
string *error_description) {
|
||||||
if (!CheckParameters(parameters))
|
if (!CheckParameters(parameters))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
CURL *curl = curl_easy_init();
|
CURL *curl = curl_easy_init();
|
||||||
CURLcode err_code = CURLE_OK;
|
CURLcode err_code = CURLE_OK;
|
||||||
|
if (error_description != NULL)
|
||||||
|
*error_description = "No Error";
|
||||||
|
|
||||||
if (curl) {
|
if (curl) {
|
||||||
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
|
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
|
||||||
@ -114,6 +117,8 @@ bool HTTPUpload::SendRequest(const string &url,
|
|||||||
url.c_str(),
|
url.c_str(),
|
||||||
curl_easy_strerror(err_code));
|
curl_easy_strerror(err_code));
|
||||||
#endif
|
#endif
|
||||||
|
if (error_description != NULL)
|
||||||
|
*error_description = curl_easy_strerror(err_code);
|
||||||
|
|
||||||
if (curl != NULL)
|
if (curl != NULL)
|
||||||
curl_easy_cleanup(curl);
|
curl_easy_cleanup(curl);
|
||||||
|
@ -53,13 +53,16 @@ class HTTPUpload {
|
|||||||
// Only HTTP(S) URLs are currently supported. Returns true on success.
|
// Only HTTP(S) URLs are currently supported. Returns true on success.
|
||||||
// If the request is successful and response_body is non-NULL,
|
// If the request is successful and response_body is non-NULL,
|
||||||
// the response body will be returned in response_body.
|
// the response body will be returned in response_body.
|
||||||
|
// If the send fails, a description of the error will be
|
||||||
|
// returned in error_description.
|
||||||
static bool SendRequest(const string &url,
|
static bool SendRequest(const string &url,
|
||||||
const map<string, string> ¶meters,
|
const map<string, string> ¶meters,
|
||||||
const string &upload_file,
|
const string &upload_file,
|
||||||
const string &file_part_name,
|
const string &file_part_name,
|
||||||
const string &proxy,
|
const string &proxy,
|
||||||
const string &proxy_user_pwd,
|
const string &proxy_user_pwd,
|
||||||
string *response_body);
|
string *response_body,
|
||||||
|
string *error_description);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Checks that the given list of parameters has only printable
|
// Checks that the given list of parameters has only printable
|
||||||
|
Loading…
Reference in New Issue
Block a user