22 lines
443 B
Go
22 lines
443 B
Go
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)
|
|
}
|