Fix double read of json response when content-length header is missing

This commit is contained in:
2025-10-04 22:16:28 +02:00
parent 7272212081
commit 8ebdb1a183
3 changed files with 11 additions and 8 deletions

View File

@@ -131,11 +131,16 @@ func (h *Handler) ListInstances() http.HandlerFunc {
return
}
w.Header().Set("Content-Type", "application/json")
if err := json.NewEncoder(w).Encode(instances); err != nil {
// Marshal to bytes first to set Content-Length header
data, err := json.Marshal(instances)
if err != nil {
http.Error(w, "Failed to encode instances: "+err.Error(), http.StatusInternalServerError)
return
}
w.Header().Set("Content-Type", "application/json")
w.Header().Set("Content-Length", strconv.Itoa(len(data)))
w.Write(data)
}
}