MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / downloadFinished

Method downloadFinished

launcher/net/Upload.cpp:134–182  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

132 }
133
134 void Upload::downloadFinished() {
135 // handle HTTP redirection first
136 // very unlikely for post requests, still can happen
137 if (handleRedirect()) {
138 qDebug() << "Upload redirected:" << m_url.toString();
139 return;
140 }
141
142 // if the download failed before this point ...
143 if (m_state == State::Succeeded) {
144 qDebug() << "Upload failed but we are allowed to proceed:" << m_url.toString();
145 m_sink->abort();
146 m_reply.reset();
147 emit succeeded();
148 return;
149 } else if (m_state == State::Failed) {
150 qDebug() << "Upload failed in previous step:" << m_url.toString();
151 m_sink->abort();
152 m_reply.reset();
153 emit failed("");
154 return;
155 } else if (m_state == State::AbortedByUser) {
156 qDebug() << "Upload aborted in previous step:" << m_url.toString();
157 m_sink->abort();
158 m_reply.reset();
159 emit aborted();
160 return;
161 }
162
163 // make sure we got all the remaining data, if any
164 auto data = m_reply->readAll();
165 if (data.size()) {
166 qDebug() << "Writing extra" << data.size() << "bytes";
167 m_state = m_sink->write(data);
168 }
169
170 // otherwise, finalize the whole graph
171 m_state = m_sink->finalize(*m_reply.get());
172 if (m_state != State::Succeeded) {
173 qDebug() << "Upload failed to finalize:" << m_url.toString();
174 m_sink->abort();
175 m_reply.reset();
176 emit failed("");
177 return;
178 }
179 m_reply.reset();
180 qDebug() << "Upload succeeded:" << m_url.toString();
181 emit succeeded();
182 }
183
184 void Upload::downloadReadyRead() {
185 if (m_state == State::Running) {

Callers

nothing calls this directly

Calls 7

toStringMethod · 0.45
abortMethod · 0.45
resetMethod · 0.45
sizeMethod · 0.45
writeMethod · 0.45
finalizeMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected