Proxy Setup Init
This commit is contained in:
@@ -1,13 +1,48 @@
|
||||
#!/usr/bin/env bash
|
||||
set -Eeuo pipefail
|
||||
|
||||
# Debug mode: 0 = nur JSON ausgeben, 1 = Logs auf stderr
|
||||
DEBUG="${DEBUG:-0}"
|
||||
|
||||
log_ts() { date "+[%F %T]"; }
|
||||
info() { echo "$(log_ts) INFO: $*" >&2; }
|
||||
warn() { echo "$(log_ts) WARN: $*" >&2; }
|
||||
die() { echo "$(log_ts) ERROR: $*" >&2; exit 1; }
|
||||
|
||||
info() {
|
||||
[[ "$DEBUG" == "1" ]] && echo "$(log_ts) INFO: $*" >&2
|
||||
return 0
|
||||
}
|
||||
|
||||
warn() {
|
||||
[[ "$DEBUG" == "1" ]] && echo "$(log_ts) WARN: $*" >&2
|
||||
return 0
|
||||
}
|
||||
|
||||
die() {
|
||||
if [[ "$DEBUG" == "1" ]]; then
|
||||
echo "$(log_ts) ERROR: $*" >&2
|
||||
else
|
||||
# JSON-Fehler auf fd 3 ausgeben (falls verfügbar), sonst stdout
|
||||
if { true >&3; } 2>/dev/null; then
|
||||
echo "{\"error\": \"$*\"}" >&3
|
||||
else
|
||||
echo "{\"error\": \"$*\"}"
|
||||
fi
|
||||
fi
|
||||
exit 1
|
||||
}
|
||||
|
||||
setup_traps() {
|
||||
trap 'rc=$?; [[ $rc -ne 0 ]] && echo "$(log_ts) ERROR: Failed at line ${BASH_LINENO[0]}: ${BASH_COMMAND} (exit=$rc)" >&2; exit $rc' ERR
|
||||
trap 'rc=$?; if [[ $rc -ne 0 ]]; then
|
||||
if [[ "$DEBUG" == "1" ]]; then
|
||||
echo "$(log_ts) ERROR: Failed at line ${BASH_LINENO[0]}: ${BASH_COMMAND} (exit=$rc)" >&2
|
||||
else
|
||||
# JSON-Fehler auf fd 3 ausgeben (falls verfügbar), sonst stdout
|
||||
if { true >&3; } 2>/dev/null; then
|
||||
echo "{\"error\": \"Failed at line ${BASH_LINENO[0]}: ${BASH_COMMAND} (exit=$rc)\"}" >&3
|
||||
else
|
||||
echo "{\"error\": \"Failed at line ${BASH_LINENO[0]}: ${BASH_COMMAND} (exit=$rc)\"}"
|
||||
fi
|
||||
fi
|
||||
fi; exit $rc' ERR
|
||||
}
|
||||
|
||||
need_cmd() {
|
||||
|
||||
Reference in New Issue
Block a user