From efdc3584a7b182f6d7b067621192ffb7f03c0acd Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Fri, 21 Jun 2019 15:46:59 -0700 Subject: [PATCH] Add status code and unzip logging to Windows launcher --- launchers/win32/LauncherUtils.cpp | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/launchers/win32/LauncherUtils.cpp b/launchers/win32/LauncherUtils.cpp index 11ac10b5f2..3ffbd37c58 100644 --- a/launchers/win32/LauncherUtils.cpp +++ b/launchers/win32/LauncherUtils.cpp @@ -184,6 +184,17 @@ LauncherUtils::ResponseError LauncherUtils::makeHTTPCall(const CString& callerNa BOOL haveContentLength = WinHttpQueryHeaders(hrequest, WINHTTP_QUERY_CONTENT_LENGTH, NULL, &szContentLength, &bufferBytes, &dwHeaderIndex); + DWORD statusCode; + DWORD statusCodeSize = sizeof(statusCode); + WinHttpQueryHeaders(hrequest, + WINHTTP_QUERY_STATUS_CODE | WINHTTP_QUERY_FLAG_NUMBER, + NULL, + &statusCode, &statusCodeSize, WINHTTP_NO_HEADER_INDEX); + + CString msg; + msg.Format(_T("Status code response (%s%s): %lu"), mainUrl, dirUrl, statusCode); + theApp._manager.addToLog(msg); + DWORD dwContentLength; if (haveContentLength) { dwContentLength = _wtoi(szContentLength); @@ -226,18 +237,26 @@ BOOL LauncherUtils::getFont(const CString& fontName, int fontSize, bool isBold, } uint64_t LauncherUtils::extractZip(const std::string& zipFile, const std::string& path, std::vector& files) { - mz_zip_archive zip_archive; - memset(&zip_archive, 0, sizeof(zip_archive)); - - auto status = mz_zip_reader_init_file(&zip_archive, zipFile.c_str(), 0); - { CString msg; msg.Format(_T("Reading zip file %s, extracting to %s"), CString(zipFile.c_str()), CString(path.c_str())); theApp._manager.addToLog(msg); } - if (!status) return 0; + mz_zip_archive zip_archive; + memset(&zip_archive, 0, sizeof(zip_archive)); + + auto status = mz_zip_reader_init_file(&zip_archive, zipFile.c_str(), 0); + + if (!status) { + auto zip_error = mz_zip_get_last_error(&zip_archive); + auto zip_error_msg = mz_zip_get_error_string(zip_error); + CString msg; + msg.Format(_T("Failed to initialize miniz: %d %s"), zip_error, CString(zip_error_msg)); + theApp._manager.addToLog(msg); + return 0; + } + int fileCount = (int)mz_zip_reader_get_num_files(&zip_archive); if (fileCount == 0) { theApp._manager.addToLog(_T("Zip archive has a file count of 0"));