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) }