diff --git a/agent/server.go b/agent/server.go index 29302acd..d3a4d782 100644 --- a/agent/server.go +++ b/agent/server.go @@ -13,6 +13,7 @@ import ( "github.com/henrygd/beszel" "github.com/henrygd/beszel/internal/common" + "github.com/henrygd/beszel/internal/entities/smart" "github.com/henrygd/beszel/internal/entities/system" "github.com/blang/semver" @@ -170,6 +171,8 @@ func (a *Agent) handleSSHRequest(w io.Writer, req *common.HubRequest[cbor.RawMes response.SystemData = v case string: response.String = &v + case map[string]smart.SmartData: + response.SmartData = v default: response.Error = fmt.Sprintf("unsupported response type: %T", data) } diff --git a/internal/hub/hub.go b/internal/hub/hub.go index 400a6626..c8dc37d8 100644 --- a/internal/hub/hub.go +++ b/internal/hub/hub.go @@ -307,7 +307,7 @@ func (h *Hub) containerRequestHandler(e *core.RequestEvent, fetchFunc func(*syst data, err := fetchFunc(system, containerID) if err != nil { - return e.JSON(http.StatusInternalServerError, map[string]string{"error": err.Error()}) + return e.JSON(http.StatusNotFound, map[string]string{"error": err.Error()}) } return e.JSON(http.StatusOK, map[string]string{responseKey: data}) @@ -338,7 +338,7 @@ func (h *Hub) getSmartData(e *core.RequestEvent) error { } data, err := system.FetchSmartDataFromAgent() if err != nil { - return e.JSON(http.StatusInternalServerError, map[string]string{"error": err.Error()}) + return e.JSON(http.StatusNotFound, map[string]string{"error": err.Error()}) } e.Response.Header().Set("Cache-Control", "public, max-age=60") return e.JSON(http.StatusOK, data)