ai_scheduler/internal/pkg/response.go

27 lines
498 B
Go

package pkg
import (
"encoding/json"
"fmt"
"github.com/gofiber/fiber/v2"
)
func HandleResponse(c *fiber.Ctx, data interface{}, e error) (err error) {
if e != nil {
return e
}
switch data.(type) {
case error:
err = data.(error)
case int, int32, int64, float32, float64, string, bool:
c.Response().SetBody([]byte(fmt.Sprintf("%v", data)))
case []byte:
c.Response().SetBody(data.([]byte))
default:
dataByte, _ := json.Marshal(data)
c.Response().SetBody(dataByte)
}
return
}