canape/backend/web/render.go
Lucas BEE 2ca1097b77 Better users handlers
Catch empty usernames or password on register
2019-07-15 08:29:49 +00:00

45 lines
1.1 KiB
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())
}
// RenderInternalError renders an error with a user message, and internally
// logs the real error
func (e *Env) RenderInternalError(w http.ResponseWriter, msg string, err error) error {
e.Log.Warn(err)
return e.render(w, "error", msg)
}
// 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)
}