From c2636ff1698cdd026dfafc9af024cfb8d6dbfe89 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Fri, 25 Oct 2024 12:27:09 +0200 Subject: [PATCH 1/3] Added --show-error flag to curl command line This change will show more information when the download fails. -S, --show-error When used with -s, --silent, it makes curl show an error message if it fails. --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 73a023a235a..550616904e5 100755 --- a/install.sh +++ b/install.sh @@ -102,7 +102,7 @@ getFile() { GETFILE_URL="$1" GETFILE_FILE_PATH="$2" if [ "$DOWNLOAD_TOOL" = "curl" ]; then - GETFILE_HTTP_STATUS_CODE=$(curl -s -w '%{http_code}' -L "$GETFILE_URL" -o "$GETFILE_FILE_PATH") + GETFILE_HTTP_STATUS_CODE=$(curl --silent --show-error --write-out '%{http_code}' --location "$GETFILE_URL" -o "$GETFILE_FILE_PATH") elif [ "$DOWNLOAD_TOOL" = "wget" ]; then TMP_FILE=$(mktemp) wget --server-response --content-on-error -q -O "$GETFILE_FILE_PATH" "$GETFILE_URL" 2>"$TMP_FILE" From f753c15efddd18900b99d8fb18431cf19615eebe Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Fri, 25 Oct 2024 12:31:55 +0200 Subject: [PATCH 2/3] Reuse download functions --- install.sh | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/install.sh b/install.sh index 550616904e5..930643b05e8 100755 --- a/install.sh +++ b/install.sh @@ -155,15 +155,9 @@ downloadFile() { echo "Trying to find a release using the GitHub API." LATEST_RELEASE_URL="https://api.github.com/repos/${PROJECT_OWNER}/$PROJECT_NAME/releases/tags/$TAG" - if [ "$DOWNLOAD_TOOL" = "curl" ]; then - HTTP_RESPONSE=$(curl -sL --write-out 'HTTPSTATUS:%{http_code}' "$LATEST_RELEASE_URL") - HTTP_STATUS_CODE=$(echo "$HTTP_RESPONSE" | tr -d '\n' | sed -e 's/.*HTTPSTATUS://') - BODY=$(echo "$HTTP_RESPONSE" | sed -e 's/HTTPSTATUS\:.*//g') - elif [ "$DOWNLOAD_TOOL" = "wget" ]; then - TMP_FILE=$(mktemp) - BODY=$(wget --server-response --content-on-error -q -O - "$LATEST_RELEASE_URL" 2>"$TMP_FILE" || true) - HTTP_STATUS_CODE=$(awk '/^ HTTP/{print $2}' "$TMP_FILE") - fi + TMP_BODY_FILE=$(mktemp) + HTTP_STATUS_CODE=$(getFile "$LATEST_RELEASE_URL" "$TMP_BODY_FILE") + BODY=$(cat "$TMP_BODY_FILE") if [ "$HTTP_STATUS_CODE" != 200 ]; then echo "Request failed with HTTP status code $HTTP_STATUS_CODE" fail "Body: $BODY" From aed5066b2e52091aea87f5e992eb280be38c81d5 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Fri, 25 Oct 2024 12:32:06 +0200 Subject: [PATCH 3/3] Remove tmp files after use --- install.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/install.sh b/install.sh index 930643b05e8..1adb4245a1d 100755 --- a/install.sh +++ b/install.sh @@ -107,6 +107,7 @@ getFile() { TMP_FILE=$(mktemp) wget --server-response --content-on-error -q -O "$GETFILE_FILE_PATH" "$GETFILE_URL" 2>"$TMP_FILE" GETFILE_HTTP_STATUS_CODE=$(awk '/^ HTTP/{print $2}' "$TMP_FILE") + rm -f "$TMP_FILE" fi echo "$GETFILE_HTTP_STATUS_CODE" } @@ -158,6 +159,7 @@ downloadFile() { TMP_BODY_FILE=$(mktemp) HTTP_STATUS_CODE=$(getFile "$LATEST_RELEASE_URL" "$TMP_BODY_FILE") BODY=$(cat "$TMP_BODY_FILE") + rm -f "$TMP_BODY_FILE" if [ "$HTTP_STATUS_CODE" != 200 ]; then echo "Request failed with HTTP status code $HTTP_STATUS_CODE" fail "Body: $BODY"