MCPcopy Create free account
hub / github.com/deathkiller/jazz2-native / ProcessStateEvent

Method ProcessStateEvent

Sources/Shared/IO/WebRequest.cpp:552–589  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

550 }
551
552 void WebRequestImpl::ProcessStateEvent(WebRequest::State state, StringView failMsg)
553 {
554 AddRef();
555 const WebRequestImplPtr request(this);
556
557 const WebResponseImplPtr& response = GetResponse();
558
559 WebRequestEvent e(GetId(), state, WebRequestAsync(request), WebResponse(response), failMsg);
560
561 StringView dataFile;
562 bool shouldRelease = false;
563 switch (state) {
564 case WebRequest::State::Idle:
565 // Unreachable state
566 break;
567
568 case WebRequest::State::Active:
569 break;
570
571 case WebRequest::State::Unauthorized:
572 shouldRelease = true;
573 break;
574
575 case WebRequest::State::Completed:
576 if (_storage == WebRequest::Storage::File) {
577 dataFile = response->GetDataFile();
578 e.SetDataFile(dataFile);
579 }
580 DEATH_FALLTHROUGH
581
582 case WebRequest::State::Failed:
583 case WebRequest::State::Cancelled:
584 if (response) {
585 response->Finalize();
586 }
587 shouldRelease = true;
588 break;
589 }
590
591 if (_callback) {
592 _callback(e);

Callers

nothing calls this directly

Calls 6

GetIdFunction · 0.85
WebRequestAsyncClass · 0.85
WebResponseClass · 0.85
GetDataFileMethod · 0.80
SetDataFileMethod · 0.80
FinalizeMethod · 0.45

Tested by

no test coverage detected