Improve curl error message including exit code and error message
This commit replaces the 3 digits http_code returned by curl with the json output. This output contains all returned values, including http_code, exitcode and errormsg. Using json format, the old http_error "000" string is formated as a number "0". Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
This commit is contained in:
+8
-3
@@ -611,7 +611,7 @@ compareLists() {
|
|||||||
# Download specified URL and perform checks on HTTP status and file content
|
# Download specified URL and perform checks on HTTP status and file content
|
||||||
gravity_DownloadBlocklistFromUrl() {
|
gravity_DownloadBlocklistFromUrl() {
|
||||||
local url="${1}" adlistID="${2}" saveLocation="${3}" compression="${4}" gravity_type="${5}" domain="${6}"
|
local url="${1}" adlistID="${2}" saveLocation="${3}" compression="${4}" gravity_type="${5}" domain="${6}"
|
||||||
local listCurlBuffer str httpCode success="" ip customUpstreamResolver=""
|
local listCurlBuffer str curlJson httpCode curlErrorMsg="" curlExitCode="" success="" ip customUpstreamResolver=""
|
||||||
local file_path permissions ip_addr port blocked=false download=true
|
local file_path permissions ip_addr port blocked=false download=true
|
||||||
# modifiedOptions is an array to store all the options used to check if the adlist has been changed upstream
|
# modifiedOptions is an array to store all the options used to check if the adlist has been changed upstream
|
||||||
local modifiedOptions=()
|
local modifiedOptions=()
|
||||||
@@ -755,9 +755,14 @@ gravity_DownloadBlocklistFromUrl() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${download}" == true ]]; then
|
if [[ "${download}" == true ]]; then
|
||||||
httpCode=$(curl --connect-timeout ${curl_connect_timeout} -s -L ${compression:+${compression}} ${customUpstreamResolver:+${customUpstreamResolver}} "${modifiedOptions[@]}" -w "%{http_code}" "${url}" -o "${listCurlBuffer}" 2>/dev/null)
|
curlJson=$(curl --connect-timeout ${curl_connect_timeout} -s -L ${compression:+${compression}} ${customUpstreamResolver:+${customUpstreamResolver}} "${modifiedOptions[@]}" -w "%{json}" "${url}" -o "${listCurlBuffer}" 2>/dev/null)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Retrieve the HTTP code, exit code and error message returned by curl command
|
||||||
|
httpCode=$(echo "${curlJson}" | jq '.http_code')
|
||||||
|
curlErrorMsg=$(echo "${curlJson}" | jq '.errormsg')
|
||||||
|
curlExitCode=$(echo "${curlJson}" | jq '.exitcode')
|
||||||
|
|
||||||
case $url in
|
case $url in
|
||||||
# Did we "download" a local file?
|
# Did we "download" a local file?
|
||||||
"file"*)
|
"file"*)
|
||||||
@@ -780,7 +785,7 @@ gravity_DownloadBlocklistFromUrl() {
|
|||||||
echo -e "${OVER} ${TICK} ${str} No changes detected"
|
echo -e "${OVER} ${TICK} ${str} No changes detected"
|
||||||
success=true
|
success=true
|
||||||
;;
|
;;
|
||||||
"000") echo -e "${OVER} ${CROSS} ${str} Connection Refused" ;;
|
"0") echo -e "${OVER} ${CROSS} ${str} Failure (exit_code=${COL_RED}${curlExitCode}${COL_NC} Msg: ${COL_CYAN}${curlErrorMsg}${COL_NC})" ;;
|
||||||
"403") echo -e "${OVER} ${CROSS} ${str} Forbidden" ;;
|
"403") echo -e "${OVER} ${CROSS} ${str} Forbidden" ;;
|
||||||
"404") echo -e "${OVER} ${CROSS} ${str} Not found" ;;
|
"404") echo -e "${OVER} ${CROSS} ${str} Not found" ;;
|
||||||
"408") echo -e "${OVER} ${CROSS} ${str} Time-out" ;;
|
"408") echo -e "${OVER} ${CROSS} ${str} Time-out" ;;
|
||||||
|
|||||||
Reference in New Issue
Block a user