diff options
author | incrementalist <incrementalist@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2007-01-03 23:14:46 +0000 |
---|---|---|
committer | incrementalist <incrementalist@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2007-01-03 23:14:46 +0000 |
commit | d4e527b7eea7628e305e6ca93cdcb9796060d65a (patch) | |
tree | f6b126d057b022b9a597ba4eaeabd49b5a4a3736 /src/common | |
parent | Add Mac exception handler and generator. Fixes issue #69. Reviewed by mment... (diff) | |
download | breakpad-d4e527b7eea7628e305e6ca93cdcb9796060d65a.tar.xz |
Allows the caller of CrashReportSender::SendCrashReport() to determine that
the server rejected a crash report, by changing the return value from a
boolean to a tri-state enum.
Fixes issue #101. Reviewed by mmentovai.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@99 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/windows/http_upload.cc | 14 | ||||
-rw-r--r-- | src/common/windows/http_upload.h | 5 |
2 files changed, 16 insertions, 3 deletions
diff --git a/src/common/windows/http_upload.cc b/src/common/windows/http_upload.cc index 59e541f0..2fa48491 100644 --- a/src/common/windows/http_upload.cc +++ b/src/common/windows/http_upload.cc @@ -66,7 +66,12 @@ bool HTTPUpload::SendRequest(const wstring &url, const map<wstring, wstring> ¶meters, const wstring &upload_file, const wstring &file_part_name, - wstring *response_body) { + wstring *response_body, + int *response_code) { + if (response_code) { + *response_code = 0; + } + // TODO(bryner): support non-ASCII parameter names if (!CheckParameters(parameters)) { return false; @@ -153,7 +158,12 @@ bool HTTPUpload::SendRequest(const wstring &url, return false; } - bool result = (wcscmp(http_status, L"200") == 0); + int http_response = wcstol(http_status, NULL, 10); + if (response_code) { + *response_code = http_response; + } + + bool result = (http_response == 200); if (result) { result = ReadResponse(request.get(), response_body); diff --git a/src/common/windows/http_upload.h b/src/common/windows/http_upload.h index a23a0f2b..d458eb19 100644 --- a/src/common/windows/http_upload.h +++ b/src/common/windows/http_upload.h @@ -63,11 +63,14 @@ class HTTPUpload { // Only HTTP(S) URLs are currently supported. Returns true on success. // If the request is successful and response_body is non-NULL, // the response body will be returned in response_body. + // If response_code is non-NULL, it will be set to the HTTP response code + // received (or 0 if the request failed before getting an HTTP response). static bool SendRequest(const wstring &url, const map<wstring, wstring> ¶meters, const wstring &upload_file, const wstring &file_part_name, - wstring *response_body); + wstring *response_body, + int *response_code); private: class AutoInternetHandle; |