Skip to content

Commit a008ef0

Browse files
authored
Some improvements to install.sh (#2738)
* 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. * Reuse download functions * Remove tmp files after use
1 parent 7055f2a commit a008ef0

File tree

1 file changed

+6
-10
lines changed

1 file changed

+6
-10
lines changed

Diff for: install.sh

+6-10
Original file line numberDiff line numberDiff line change
@@ -102,11 +102,12 @@ getFile() {
102102
GETFILE_URL="$1"
103103
GETFILE_FILE_PATH="$2"
104104
if [ "$DOWNLOAD_TOOL" = "curl" ]; then
105-
GETFILE_HTTP_STATUS_CODE=$(curl -s -w '%{http_code}' -L "$GETFILE_URL" -o "$GETFILE_FILE_PATH")
105+
GETFILE_HTTP_STATUS_CODE=$(curl --silent --show-error --write-out '%{http_code}' --location "$GETFILE_URL" -o "$GETFILE_FILE_PATH")
106106
elif [ "$DOWNLOAD_TOOL" = "wget" ]; then
107107
TMP_FILE=$(mktemp)
108108
wget --server-response --content-on-error -q -O "$GETFILE_FILE_PATH" "$GETFILE_URL" 2>"$TMP_FILE"
109109
GETFILE_HTTP_STATUS_CODE=$(awk '/^ HTTP/{print $2}' "$TMP_FILE")
110+
rm -f "$TMP_FILE"
110111
fi
111112
echo "$GETFILE_HTTP_STATUS_CODE"
112113
}
@@ -155,15 +156,10 @@ downloadFile() {
155156
echo "Trying to find a release using the GitHub API."
156157

157158
LATEST_RELEASE_URL="https://api.github.com/repos/${PROJECT_OWNER}/$PROJECT_NAME/releases/tags/$TAG"
158-
if [ "$DOWNLOAD_TOOL" = "curl" ]; then
159-
HTTP_RESPONSE=$(curl -sL --write-out 'HTTPSTATUS:%{http_code}' "$LATEST_RELEASE_URL")
160-
HTTP_STATUS_CODE=$(echo "$HTTP_RESPONSE" | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
161-
BODY=$(echo "$HTTP_RESPONSE" | sed -e 's/HTTPSTATUS\:.*//g')
162-
elif [ "$DOWNLOAD_TOOL" = "wget" ]; then
163-
TMP_FILE=$(mktemp)
164-
BODY=$(wget --server-response --content-on-error -q -O - "$LATEST_RELEASE_URL" 2>"$TMP_FILE" || true)
165-
HTTP_STATUS_CODE=$(awk '/^ HTTP/{print $2}' "$TMP_FILE")
166-
fi
159+
TMP_BODY_FILE=$(mktemp)
160+
HTTP_STATUS_CODE=$(getFile "$LATEST_RELEASE_URL" "$TMP_BODY_FILE")
161+
BODY=$(cat "$TMP_BODY_FILE")
162+
rm -f "$TMP_BODY_FILE"
167163
if [ "$HTTP_STATUS_CODE" != 200 ]; then
168164
echo "Request failed with HTTP status code $HTTP_STATUS_CODE"
169165
fail "Body: $BODY"

0 commit comments

Comments
 (0)