From f8dc1342103a74fda006c05104eb03b5373acf9e Mon Sep 17 00:00:00 2001 From: miloschwartz Date: Mon, 29 Dec 2025 17:28:12 -0500 Subject: [PATCH] add content-length header to status payload Former-commit-id: 8152d4133f1ae85b2632c48983aeb3ea68f0fd2a --- api/api.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/api/api.go b/api/api.go index 787f958..a7e2f24 100644 --- a/api/api.go +++ b/api/api.go @@ -5,6 +5,7 @@ import ( "fmt" "net" "net/http" + "strconv" "sync" "time" @@ -358,7 +359,6 @@ func (s *API) handleStatus(w http.ResponseWriter, r *http.Request) { } s.statusMu.RLock() - defer s.statusMu.RUnlock() resp := StatusResponse{ Connected: s.isConnected, @@ -371,8 +371,18 @@ func (s *API) handleStatus(w http.ResponseWriter, r *http.Request) { NetworkSettings: network.GetSettings(), } + s.statusMu.RUnlock() + + data, err := json.Marshal(resp) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + w.Header().Set("Content-Type", "application/json") - json.NewEncoder(w).Encode(resp) + w.Header().Set("Content-Length", strconv.Itoa(len(data))) + w.WriteHeader(http.StatusOK) + _, _ = w.Write(data) } // handleHealth handles the /health endpoint