mirror of
https://github.com/scroll-tech/scroll.git
synced 2026-01-08 21:48:11 -05:00
Co-authored-by: georgehao <georgehao@users.noreply.github.com> Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
54 lines
1.2 KiB
Go
54 lines
1.2 KiB
Go
package types
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// Response the response schema
|
|
type Response struct {
|
|
ErrCode int `json:"errcode"`
|
|
ErrMsg string `json:"errmsg"`
|
|
Data interface{} `json:"data"`
|
|
}
|
|
|
|
// RenderJSON renders response with json
|
|
func RenderJSON(ctx *gin.Context, errCode int, err error, data interface{}) {
|
|
var errMsg string
|
|
if err != nil {
|
|
errMsg = err.Error()
|
|
}
|
|
renderData := Response{
|
|
ErrCode: errCode,
|
|
ErrMsg: errMsg,
|
|
Data: data,
|
|
}
|
|
ctx.JSON(http.StatusOK, renderData)
|
|
}
|
|
|
|
// RenderSuccess renders success response with json
|
|
func RenderSuccess(ctx *gin.Context, data interface{}) {
|
|
RenderJSON(ctx, Success, nil, data)
|
|
}
|
|
|
|
// RenderFailure renders failure response with json
|
|
func RenderFailure(ctx *gin.Context, errCode int, err error) {
|
|
RenderJSON(ctx, errCode, err, nil)
|
|
}
|
|
|
|
// RenderFatal renders fatal response with json
|
|
func RenderFatal(ctx *gin.Context, err error) {
|
|
var errMsg string
|
|
if err != nil {
|
|
errMsg = err.Error()
|
|
}
|
|
renderData := Response{
|
|
ErrCode: InternalServerError,
|
|
ErrMsg: errMsg,
|
|
Data: nil,
|
|
}
|
|
ctx.Set("errcode", InternalServerError)
|
|
ctx.JSON(http.StatusInternalServerError, renderData)
|
|
}
|