fix non images always show notifications, add override domain, fix headers

This commit is contained in:
creations 2025-05-18 12:09:41 -04:00
parent 270d531d6e
commit 6040cb0142
Signed by: creations
GPG key ID: 8F553AA4320FC711
3 changed files with 35 additions and 10 deletions

26
main.sh
View file

@ -136,7 +136,10 @@ if [[ ${#MISSING_COMMANDS[@]} -gt 0 ]]; then
fi
send_notification() {
[[ "$SHOW_NOTIFICATIONS" == "false" ]] && return
local force="$4"
if [[ "$SHOW_NOTIFICATIONS" == "false" && "$force" != "true" ]]; then
return
fi
local title="$1"
local message="$2"
@ -320,19 +323,16 @@ fi
HEADERS=()
if [[ "$SERVICE" == "zipline" ]]; then
declare -A ZIPLINE_HEADERS
ZIPLINE_HEADERS=$(get_starting_with "x-zipline")
for key in "${!ZIPLINE_HEADERS[@]}"; do
header_name="${key#ZIPLINE__}" | tr '[:upper:]' '[:lower:]' | tr '_' '-'
header_value="${ZIPLINE_HEADERS[$key]}"
headers+=("-H" "$header_name: $header_value")
mapfile -t zipline_keys < <(get_starting_with "x-zipline" | jq -r 'to_entries[] | "\(.key)=\(.value)"')
for entry in "${zipline_keys[@]}"; do
key="${entry%%=*}"
value="${entry#*=}"
headers+=("-H" "$key: $value")
done
fi
headers+=("-H" "${UPLOAD_HEADERS[$SERVICE]}: $AUTH")
echo headers "${headers[@]}"
FILE_URL=""
RESPONSE=$(curl -s -w "%{http_code}" -o /tmp/upload_response.json \
-X POST -F "file=@$FILE" "${headers[@]}" "$DOMAIN")
@ -344,12 +344,14 @@ rm /tmp/upload_response.json
if [[ "$HTTP_CODE" -ne 200 ]]; then
echo -e "${RED}Error: Upload failed with status code $HTTP_CODE.${RESET}"
echo "$BODY"
send_notification "Upload failed" "Status code: $HTTP_CODE" "" "true"
exit 1
fi
if ! echo "$BODY" | jq . &>/dev/null; then
echo -e "${RED}Error: Invalid JSON response from server.${RESET}"
echo "$BODY"
send_notification "Upload failed" "Invalid JSON from $SERVICE" "" "true"
exit 1
fi
@ -357,6 +359,7 @@ FILE_URL=$(echo "$BODY" | jq -r ".${UPLOAD_JSON_KEYS[$SERVICE]}")
if [[ "$FILE_URL" == "null" || -z "$FILE_URL" ]]; then
echo -e "${RED}Error: File URL not found in response.${RESET}"
echo "$BODY"
send_notification "Upload failed" "Missing file URL in response" "" "true"
exit 1
fi
@ -385,7 +388,10 @@ if [[ "$MIME_TYPE" == image/* ]]; then
else
if [[ "$SHOW_NOTIFICATIONS" == "true" ]]; then
send_notification "Uploaded to $SERVICE" "$FILE_URL"
play_sound
play_sound
else
send_notification "Uploaded to $SERVICE" "$FILE_URL" "" "true"
play_sound
fi
fi