| 69 | } |
| 70 | |
| 71 | void NetRequest::executeTask() |
| 72 | { |
| 73 | setStatus(tr("Requesting %1").arg(StringUtils::truncateUrlHumanFriendly(m_url, 80))); |
| 74 | |
| 75 | if (getState() == Task::State::AbortedByUser) { |
| 76 | qCWarning(logCat) << getUid().toString() << "Attempt to start an aborted Request:" << m_url.toString(); |
| 77 | emit aborted(); |
| 78 | emit finished(); |
| 79 | return; |
| 80 | } |
| 81 | |
| 82 | QNetworkRequest request(m_url); |
| 83 | m_state = m_sink->init(request); |
| 84 | switch (m_state) { |
| 85 | case State::Succeeded: |
| 86 | qCDebug(logCat) << getUid().toString() << "Request cache hit" << m_url.toString(); |
| 87 | emit succeeded(); |
| 88 | emit finished(); |
| 89 | return; |
| 90 | case State::Running: |
| 91 | qCDebug(logCat) << getUid().toString() << "Running" << m_url.toString(); |
| 92 | break; |
| 93 | case State::Inactive: |
| 94 | case State::Failed: |
| 95 | m_failReason = m_sink->failReason(); |
| 96 | emit failed(m_sink->failReason()); |
| 97 | emit finished(); |
| 98 | return; |
| 99 | case State::AbortedByUser: |
| 100 | emit aborted(); |
| 101 | emit finished(); |
| 102 | return; |
| 103 | } |
| 104 | |
| 105 | #if defined(LAUNCHER_APPLICATION) |
| 106 | auto user_agent = APPLICATION->getUserAgent(); |
| 107 | #else |
| 108 | auto user_agent = BuildConfig.USER_AGENT; |
| 109 | #endif |
| 110 | |
| 111 | request.setHeader(QNetworkRequest::UserAgentHeader, user_agent.toUtf8()); |
| 112 | for (auto& header_proxy : m_headerProxies) { |
| 113 | header_proxy->writeHeaders(request); |
| 114 | } |
| 115 | |
| 116 | #if defined(LAUNCHER_APPLICATION) |
| 117 | request.setTransferTimeout(APPLICATION->settings()->get("RequestTimeout").toInt() * 1000); |
| 118 | #else |
| 119 | request.setTransferTimeout(); |
| 120 | #endif |
| 121 | |
| 122 | request.setAttribute(QNetworkRequest::Http2AllowedAttribute, false); |
| 123 | |
| 124 | m_last_progress_time = m_clock.now(); |
| 125 | m_last_progress_bytes = 0; |
| 126 | |
| 127 | auto rep = getReply(request); |
| 128 | if (rep == nullptr) // it failed |
nothing calls this directly
no test coverage detected