Update core.func
This commit is contained in:
parent
d9c5f7d12f
commit
109ef51584
@ -91,20 +91,35 @@ default_vars() {
|
|||||||
# Performs a curl request with retry logic and inline feedback.
|
# Performs a curl request with retry logic and inline feedback.
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
curl_handler() {
|
curl_handler() {
|
||||||
local url="$1"
|
local args=()
|
||||||
shift
|
local url=""
|
||||||
local max_retries=3 delay=2 attempt=1 result exit_code
|
local max_retries=3 delay=2 attempt=1 result exit_code
|
||||||
|
local has_output_file=false
|
||||||
|
|
||||||
|
# Argumente parsen
|
||||||
|
for arg in "$@"; do
|
||||||
|
if [[ "$arg" != -* && -z "$url" ]]; then
|
||||||
|
url="$arg"
|
||||||
|
fi
|
||||||
|
[[ "$arg" == "-o" || "$arg" == --output ]] && has_output_file=true
|
||||||
|
args+=("$arg")
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ -z "$url" ]]; then
|
||||||
|
msg_error "no valid url or option entered for curl_handler"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
msg_info "Fetching: $url"
|
msg_info "Fetching: $url"
|
||||||
|
|
||||||
while :; do
|
while :; do
|
||||||
result=$(curl -fsSL --retry 0 "$url" "$@" 2>&1)
|
result=$(curl --retry 0 "${args[@]}" 2>&1)
|
||||||
exit_code=$?
|
exit_code=$?
|
||||||
|
|
||||||
if [[ $exit_code -eq 0 ]]; then
|
if [[ $exit_code -eq 0 ]]; then
|
||||||
stop_spinner
|
stop_spinner
|
||||||
msg_ok "Fetched: $url"
|
msg_ok "Fetched: $url"
|
||||||
# Wenn -o verwendet wurde, gibt es keinen stdout-Output
|
$has_output_file || printf '%s' "$result"
|
||||||
[[ "$*" != *"-o "* ]] && printf '%s' "$result"
|
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user