From: Michael Tremer Date: Mon, 19 Apr 2021 14:18:33 +0000 (+0000) Subject: Revert "downloader: Remove separating between protocol types when handling result" X-Git-Tag: 0.9.28~1285^2~333 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5841e20276a90cfcbddabab319a1bb47874f5dcc;p=pakfire.git Revert "downloader: Remove separating between protocol types when handling result" This reverts commit 4eef07222a94297d75d73aaea0d3e24946ad6cee. Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/downloader.c b/src/libpakfire/downloader.c index 5eb726090..df0f4c14b 100644 --- a/src/libpakfire/downloader.c +++ b/src/libpakfire/downloader.c @@ -422,6 +422,7 @@ static int pakfire_transfer_done(struct pakfire_downloader* downloader, struct pakfire_transfer* transfer, int code) { CURL* h = transfer->handle; + int r; long protocol; const char* url; long response_code; @@ -465,11 +466,40 @@ static int pakfire_transfer_done(struct pakfire_downloader* downloader, if (speed) DEBUG(downloader->pakfire, " Download Speed: %ld bps\n", speed); - // Handle any errors - if (code) - return pakfire_transfer_fail(downloader, transfer, code); + switch (protocol) { + case CURLPROTO_FILE: + // Handle any errors + if (code) + r = pakfire_transfer_fail(downloader, transfer, code); + else + r = pakfire_transfer_save(downloader, transfer); + + return r; - return pakfire_transfer_save(downloader, transfer); + case CURLPROTO_HTTPS: + case CURLPROTO_HTTP: + switch (response_code) { + // 200 - OK + case 200: + r = pakfire_transfer_save(downloader, transfer); + if (r) + return r; + break; + + // Treat all other response codes as an error + default: + r = pakfire_transfer_fail(downloader, transfer, code); + if (r) + return r; + + // Error + return 1; + } + break; + } + + // Success + return 0; } static int pakfire_downloader_prepare_transfer(struct pakfire_downloader* downloader,