mirror of
https://github.com/offen/website.git
synced 2024-11-25 10:10:28 +01:00
25 lines
523 B
Go
25 lines
523 B
Go
package http
|
|
|
|
import (
|
|
"encoding/json"
|
|
"net/http"
|
|
)
|
|
|
|
type errorResponse struct {
|
|
Error string `json:"error"`
|
|
Status int `json:"status"`
|
|
}
|
|
|
|
func jsonError(err error, status int) []byte {
|
|
r := errorResponse{err.Error(), status}
|
|
b, _ := json.Marshal(r)
|
|
return b
|
|
}
|
|
|
|
// RespondWithJSONError writes the given error to the given response writer
|
|
// while wrapping it into a JSON payload.
|
|
func RespondWithJSONError(w http.ResponseWriter, err error, status int) {
|
|
w.WriteHeader(status)
|
|
w.Write(jsonError(err, status))
|
|
}
|