Fix API logic in api.sh

Signed-off-by: Christian König <github@yubiuser.dev>
This commit is contained in:
Christian König 2025-04-24 09:00:07 +02:00
parent 60485fdc51
commit 1bea6db50a
No known key found for this signature in database

View File

@ -20,7 +20,7 @@
TestAPIAvailability() { TestAPIAvailability() {
# as we are running locally, we can get the port value from FTL directly # as we are running locally, we can get the port value from FTL directly
local chaos_api_list authResponse authStatus authData local chaos_api_list authResponse authStatus authData apiAvailable
# Query the API URLs from FTL using CHAOS TXT local.api.ftl # Query the API URLs from FTL using CHAOS TXT local.api.ftl
# The result is a space-separated enumeration of full URLs # The result is a space-separated enumeration of full URLs
@ -59,7 +59,7 @@ TestAPIAvailability() {
# Test if http status code was 200 (OK) or 401 (authentication required) # Test if http status code was 200 (OK) or 401 (authentication required)
if [ ! "${authStatus}" = 200 ] && [ ! "${authStatus}" = 401 ]; then if [ ! "${authStatus}" = 200 ] && [ ! "${authStatus}" = 401 ]; then
# API is not available at this port/protocol combination # API is not available at this port/protocol combination
API_PORT="" apiAvailable=false
else else
# API is available at this URL combination # API is available at this URL combination
@ -71,6 +71,8 @@ TestAPIAvailability() {
# Check if 2FA is required # Check if 2FA is required
needTOTP=$(echo "${authData}"| jq --raw-output .session.totp 2>/dev/null) needTOTP=$(echo "${authData}"| jq --raw-output .session.totp 2>/dev/null)
apiAvailable=true
break break
fi fi
@ -86,9 +88,9 @@ TestAPIAvailability() {
fi fi
done done
# if API_PORT is empty, no working API port was found # if apiAvailable is false, no working API was found
if [ -n "${API_PORT}" ]; then if [ "${apiAvailable}" = false ]; then
echo "API not available at: ${API_URL}" echo "API not available. Please check FTL.log"
echo "Exiting." echo "Exiting."
exit 1 exit 1
fi fi