Files

30 lines
757 B
Go

package httpserver
import (
"encoding/json"
"net/http"
dockerconn "dockermanager/backend/internal/docker"
)
func handleHealthz(w http.ResponseWriter, r *http.Request) {
writeJSON(w, http.StatusOK, map[string]string{"status": "ok"})
}
func handleListContainers(d dockerconn.HostConnector) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
containers, err := d.ListContainers(r.Context())
if err != nil {
writeJSON(w, http.StatusBadGateway, map[string]string{"error": err.Error()})
return
}
writeJSON(w, http.StatusOK, containers)
}
}
func writeJSON(w http.ResponseWriter, status int, body any) {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(status)
_ = json.NewEncoder(w).Encode(body)
}