Fix failing to parse empty response body in custom api widget

This commit is contained in:
Svilen Markov 2025-03-01 23:43:33 +00:00
parent 474255c985
commit 31ecd91f7c

View File

@ -10,6 +10,7 @@ import (
"log/slog" "log/slog"
"math" "math"
"net/http" "net/http"
"strings"
"time" "time"
"github.com/tidwall/gjson" "github.com/tidwall/gjson"
@ -90,9 +91,9 @@ func fetchAndParseCustomAPI(req *http.Request, tmpl *template.Template) (templat
return emptyBody, err return emptyBody, err
} }
body := string(bodyBytes) body := strings.TrimSpace(string(bodyBytes))
if !gjson.Valid(body) { if body != "" && !gjson.Valid(body) {
truncatedBody, isTruncated := limitStringLength(body, 100) truncatedBody, isTruncated := limitStringLength(body, 100)
if isTruncated { if isTruncated {
truncatedBody += "... <truncated>" truncatedBody += "... <truncated>"