package httpapi import ( "encoding/json" "net/http" ) // Problem is RFC 9457 application/problem+json. type Problem struct { Type string `json:"type,omitempty"` Title string `json:"title"` Status int `json:"status"` Detail string `json:"detail,omitempty"` Instance string `json:"instance,omitempty"` } func writeProblem(w http.ResponseWriter, status int, title, detail string) { w.Header().Set("Content-Type", "application/problem+json") w.WriteHeader(status) _ = json.NewEncoder(w).Encode(Problem{ Type: "about:blank", Title: title, Status: status, Detail: detail, }) } func writeJSON(w http.ResponseWriter, status int, v any) { w.Header().Set("Content-Type", "application/json") w.WriteHeader(status) _ = json.NewEncoder(w).Encode(v) } func writeNoContent(w http.ResponseWriter) { w.WriteHeader(http.StatusNoContent) }