distinguish empty output from invalid JSON in reserve share handler

This commit is contained in:
Kenneth Bingham 2024-03-13 23:54:09 -04:00
parent d3147d6ed9
commit 7af61a1959
No known key found for this signature in database
GPG Key ID: 31709281860130B6

View File

@ -147,11 +147,14 @@ if [[ "${ZROK_FRONTEND_MODE:-}" == temp-public ]]; then
exec zrok ${ZROK_CMD}
else
# reserve and continue
zrok ${ZROK_CMD} | jq -rc | tee ~/.zrok/reserved.json
zrok ${ZROK_CMD} > ~/.zrok/reserved.json
# share the reserved backend target until exit
if ! [[ -s ~/.zrok/reserved.json ]]; then
echo "ERROR: empty or missing $(realpath ~/.zrok)/reserved.json" >&2
exit 1
elif ! jq . < ~/.zrok/reserved.json &>/dev/null; then
echo "ERROR: invalid JSON in $(realpath ~/.zrok)/reserved.json" >&2
exit 1
else
ZROK_PUBLIC_URLS=$(jq -cr '.frontend_endpoints' ~/.zrok/reserved.json 2>/dev/null)
if [[ -z "${ZROK_PUBLIC_URLS}" || "${ZROK_PUBLIC_URLS}" == null ]]; then