From d6b6959e0eee58899d1a35a8a98d5d3eb8275be2 Mon Sep 17 00:00:00 2001 From: "mkrebs@chromium.org" Date: Thu, 24 May 2012 20:22:48 +0000 Subject: sym_upload: Show failure if symbol server gives redirect response Add a "response_code" parameter to Linux's HTTPUpload::SendRequest() that, if non-NULL, will be set to the response code of the HTTP request. Using that, sym_upload will print a failure message on Linux if the response code is not 200. This is in line with the change made by http://breakpad.appspot.com/77001/ for the Mac version. BUG=google-breakpad:480, chromium-os:30032 TEST=Ran "sym_upload powertop.sym http://test.webdav.org/redir-tmp/" Ran "sym_upload powertop.sym http://clients2.google.com/cr/staging_symbol" Review URL: https://breakpad.appspot.com/388002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@968 4c0a9323-5329-0410-9bdc-e9ce6186880e --- src/tools/linux/symupload/minidump_upload.cc | 1 + src/tools/linux/symupload/sym_upload.cc | 14 +++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'src/tools/linux') diff --git a/src/tools/linux/symupload/minidump_upload.cc b/src/tools/linux/symupload/minidump_upload.cc index 6f1748ad..144c8bf6 100644 --- a/src/tools/linux/symupload/minidump_upload.cc +++ b/src/tools/linux/symupload/minidump_upload.cc @@ -71,6 +71,7 @@ static void Start(Options *options) { options->proxy_user_pwd, "", &response, + NULL, &error); if (success) { diff --git a/src/tools/linux/symupload/sym_upload.cc b/src/tools/linux/symupload/sym_upload.cc index a4d5be79..f5324a45 100644 --- a/src/tools/linux/symupload/sym_upload.cc +++ b/src/tools/linux/symupload/sym_upload.cc @@ -139,6 +139,7 @@ static void Start(Options *options) { parameters["code_file"] = module_parts[4]; parameters["debug_identifier"] = compacted_id; std::string response, error; + long response_code; bool success = HTTPUpload::SendRequest(options->uploadURLStr, parameters, options->symbolsPath, @@ -147,14 +148,21 @@ static void Start(Options *options) { options->proxy_user_pwd, "", &response, + &response_code, &error); - if (success) { - printf("Successfully sent the symbol file.\n"); - } else { + if (!success) { printf("Failed to send symbol file: %s\n", error.c_str()); printf("Response:\n"); printf("%s\n", response.c_str()); + } else if (response_code == 0) { + printf("Failed to send symbol file: No response code\n"); + } else if (response_code != 200) { + printf("Failed to send symbol file: Response code %ld\n", response_code); + printf("Response:\n"); + printf("%s\n", response.c_str()); + } else { + printf("Successfully sent the symbol file.\n"); } options->success = success; } -- cgit v1.2.1