canape/backend/web/render.go

38 lines
887 B
Go

package web
import "net/http"
// RenderError renders an error
func (e *Env) RenderError(w http.ResponseWriter, err error) error {
e.Log.Warn(err)
return e.render(w, "error", err.Error())
}
// RenderOK renders a message
func (e *Env) RenderOK(w http.ResponseWriter, message string) error {
return e.render(w, "ok", message)
}
func (e *Env) render(w http.ResponseWriter, status, message string) error {
var out = struct {
Status string `json:"status"`
Message string `json:"message"`
}{
Status: status,
Message: message,
}
return e.Render.JSON(w, http.StatusOK, out)
}
// RenderJSON renders the data in JSON format
func (e *Env) RenderJSON(w http.ResponseWriter, data interface{}) error {
var out = struct {
Status string `json:"status"`
Data interface{} `json:"data"`
}{
Status: "ok",
Data: data,
}
return e.Render.JSON(w, http.StatusOK, out)
}