| 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); |
nothing calls this directly
no test coverage detected