From 6082dd9eb14e59acad0a24e830f89fda14f6082f Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Sat, 30 Jan 2021 22:05:17 +0100 Subject: [PATCH 1/3] Show all wxWebRequest error descriptions in test output --- tests/net/webrequest.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/net/webrequest.cpp b/tests/net/webrequest.cpp index 70fcfea5c8..4be896bbd4 100644 --- a/tests/net/webrequest.cpp +++ b/tests/net/webrequest.cpp @@ -133,6 +133,14 @@ public: REQUIRE( request.GetState() == wxWebRequest::State_Idle ); request.Start(); RunLoopWithTimeout(); + + if ( request.GetState() != requiredState ) + { + errorDescription.Trim(); + if ( !errorDescription.empty() ) + WARN("Error: " << errorDescription); + } + REQUIRE( request.GetState() == requiredState ); if (requiredStatus) CHECK( request.GetResponse().GetStatus() == requiredStatus ); @@ -378,8 +386,6 @@ TEST_CASE_METHOD(RequestFixture, request.Start(); request.Cancel(); RunLoopWithTimeout(); - if ( !errorDescription.empty() ) - INFO( "Error:" << errorDescription ); REQUIRE( request.GetState() == wxWebRequest::State_Cancelled ); } From 71a64f1d201df80d318568fe7ba41ea0398f8a90 Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Sat, 30 Jan 2021 22:07:01 +0100 Subject: [PATCH 2/3] Get pointer to write buffer only once in wxWebRequestWinHTTP --- src/msw/webrequest_winhttp.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/msw/webrequest_winhttp.cpp b/src/msw/webrequest_winhttp.cpp index 7c087a833b..b1eff58e24 100644 --- a/src/msw/webrequest_winhttp.cpp +++ b/src/msw/webrequest_winhttp.cpp @@ -218,8 +218,8 @@ void wxWebRequestWinHTTP::WriteData() } m_dataWriteBuffer.Clear(); - m_dataWriteBuffer.GetWriteBuf(dataWriteSize); - m_dataStream->Read(m_dataWriteBuffer.GetData(), dataWriteSize); + void* buffer = m_dataWriteBuffer.GetWriteBuf(dataWriteSize); + m_dataStream->Read(buffer, dataWriteSize); if ( !::WinHttpWriteData ( From 53a05f431f8ddc65886418782b8aa2d566274b7a Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Sat, 30 Jan 2021 22:09:34 +0100 Subject: [PATCH 3/3] Set bytes written in callback in wxWebRequestWinHTTP --- src/msw/webrequest_winhttp.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/msw/webrequest_winhttp.cpp b/src/msw/webrequest_winhttp.cpp index b1eff58e24..3d64138021 100644 --- a/src/msw/webrequest_winhttp.cpp +++ b/src/msw/webrequest_winhttp.cpp @@ -184,8 +184,12 @@ wxWebRequestWinHTTP::HandleCallback(DWORD dwInternetStatus, break; case WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE: + { + DWORD written = *(reinterpret_cast(lpvStatusInformation)); + m_dataWritten += written; WriteData(); break; + } case WINHTTP_CALLBACK_STATUS_REQUEST_ERROR: { @@ -230,10 +234,7 @@ void wxWebRequestWinHTTP::WriteData() ) ) { SetFailedWithLastError(); - return; } - - m_dataWritten += dataWriteSize; } void wxWebRequestWinHTTP::CreateResponse()