From dd7c38baae8c9a08d3568217d3cad6309add576d Mon Sep 17 00:00:00 2001 From: incrementalist Date: Fri, 8 Dec 2006 20:45:20 +0000 Subject: This patch fixes Airbag issue #44. Summary of this patch: * It adds a new wstring* parameter to the end of both SendCrashReport() and HTTPUpload::SendRequest(), which can be NULL. * If the request isn't successful, the result parameter isn't touched. * It adds HTTPUpload::UTF8ToWide() to allow the response to be returned as a wstring, * It changes the return value of SendRequest (and by extension, SendCrashReport) so that if the size of the response body isn't exactly the same as the value given in the Content-Length header, the return value is false (in addition to the previous semantics). * It also updates symupload.cc to account for the new parameter in SendRequest(). git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@81 4c0a9323-5329-0410-9bdc-e9ce6186880e --- src/client/windows/sender/crash_report_sender.cc | 4 ++-- src/client/windows/sender/crash_report_sender.h | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'src/client/windows/sender') diff --git a/src/client/windows/sender/crash_report_sender.cc b/src/client/windows/sender/crash_report_sender.cc index 0c48c875..485ffc36 100644 --- a/src/client/windows/sender/crash_report_sender.cc +++ b/src/client/windows/sender/crash_report_sender.cc @@ -38,10 +38,10 @@ namespace google_airbag { // static bool CrashReportSender::SendCrashReport( const wstring &url, const map ¶meters, - const wstring &dump_file_name) { + const wstring &dump_file_name, wstring *report_code) { return HTTPUpload::SendRequest(url, parameters, dump_file_name, - L"upload_file_minidump"); + L"upload_file_minidump", report_code); } } // namespace google_airbag diff --git a/src/client/windows/sender/crash_report_sender.h b/src/client/windows/sender/crash_report_sender.h index a909c466..c44c5e74 100644 --- a/src/client/windows/sender/crash_report_sender.h +++ b/src/client/windows/sender/crash_report_sender.h @@ -56,11 +56,16 @@ class CrashReportSender { // name value pairs, as a multipart POST request to the given URL. // Parameter names must contain only printable ASCII characters, // and may not contain a quote (") character. + // If the report is sent successfully (the return value is true), a + // code uniquely identifying the report will be returned in report_code. // Only HTTP(S) URLs are currently supported. Returns true on success. - // TODO(bryner): we should expose the response to the caller. + // If report_code is non-NULL and the report is sent successfully (that is, + // the return value is true), a code uniquely identifying the report will be + // returned in report_code. (Otherwise, report_code will be unchanged.) static bool SendCrashReport(const wstring &url, const map ¶meters, - const wstring &dump_file_name); + const wstring &dump_file_name, + wstring *report_code); private: // No instances of this class should be created. -- cgit v1.2.1