package api import ( "encoding/json" "net/http" ) var ( DatabaseError = ApiError{Message: "internal database error", Code: http.StatusInternalServerError} InvalidJson = ApiError{Message: "invalid json", Code: http.StatusUnprocessableEntity} ) type ApiError struct { Message string `json:"message"` Code int } func (ae ApiError) Send(w http.ResponseWriter) error { w.WriteHeader(ae.Code) return json.NewEncoder(w).Encode(ae) }