package response import ( "encoding/json" "net/http" ) type envelope struct { Data any `json:"data,omitempty"` Error string `json:"error,omitempty"` } func JSON(w http.ResponseWriter, status int, data any) { w.Header().Set("Content-Type", "application/json") w.WriteHeader(status) json.NewEncoder(w).Encode(envelope{Data: data}) } func Error(w http.ResponseWriter, status int, msg string) { w.Header().Set("Content-Type", "application/json") w.WriteHeader(status) json.NewEncoder(w).Encode(envelope{Error: msg}) } func NoContent(w http.ResponseWriter) { w.WriteHeader(http.StatusNoContent) }