Slightly refactor wxWebRequestImpl::ProcessStateEvent()

Call GetResponse() only once.

Also put the code for State_Completed inside the case for this state in
the switch instead of testing for it separately later.

No real changes.
This commit is contained in:
Vadim Zeitlin
2021-01-16 14:49:25 +01:00
parent 3107a17353
commit 1bf6d5e188

View File

@@ -299,6 +299,13 @@ SplitParameters(const wxString& s, wxWebRequestHeaderMap& parameters)
void wxWebRequestImpl::ProcessStateEvent(wxWebRequest::State state, const wxString& failMsg) void wxWebRequestImpl::ProcessStateEvent(wxWebRequest::State state, const wxString& failMsg)
{ {
wxString dataFile;
const wxWebResponseImplPtr& response = GetResponse();
wxWebRequestEvent evt(wxEVT_WEBREQUEST_STATE, GetId(), state,
wxWebResponse(response), failMsg);
switch ( state ) switch ( state )
{ {
case wxWebRequest::State_Idle: case wxWebRequest::State_Idle:
@@ -310,23 +317,20 @@ void wxWebRequestImpl::ProcessStateEvent(wxWebRequest::State state, const wxStri
break; break;
case wxWebRequest::State_Completed: case wxWebRequest::State_Completed:
if ( m_storage == wxWebRequest::Storage_File )
{
dataFile = response->GetDataFile();
evt.SetDataFile(dataFile);
}
wxFALLTHROUGH;
case wxWebRequest::State_Failed: case wxWebRequest::State_Failed:
case wxWebRequest::State_Cancelled: case wxWebRequest::State_Cancelled:
if ( GetResponse() ) if ( response )
GetResponse()->Finalize(); response->Finalize();
break; break;
} }
wxString dataFile;
wxWebRequestEvent evt(wxEVT_WEBREQUEST_STATE, GetId(), state,
wxWebResponse(GetResponse()), failMsg);
if ( state == wxWebRequest::State_Completed && m_storage == wxWebRequest::Storage_File )
{
dataFile = GetResponse()->GetDataFile();
evt.SetDataFile(dataFile);
}
m_handler->ProcessEvent(evt); m_handler->ProcessEvent(evt);
// Remove temporary file if we're using one and if it still exists: it // Remove temporary file if we're using one and if it still exists: it