github.com/seeker-insurance/kit@v0.0.13/web/handlers.go (about) 1 package web 2 3 import ( 4 "fmt" 5 "net/http" 6 7 "github.com/labstack/echo" 8 "github.com/seeker-insurance/kit/jsonapi" 9 "github.com/spf13/viper" 10 ) 11 12 func Healthz(c ApiContext) error { 13 badParam := func(param string) bool { return c.QueryParam(param) == "1" } 14 switch { 15 case badParam("oops"): 16 panic("oops") 17 case badParam("apiErr"): 18 return &jsonapi.ErrorObject{ 19 Title: "Api Error", 20 Status: fmt.Sprintf("%d", http.StatusBadRequest), 21 Detail: "missing parameters: foo,bar", 22 } 23 case badParam("500"): 24 return echo.NewHTTPError(http.StatusInternalServerError) 25 case badParam("400"): 26 return echo.NewHTTPError(http.StatusBadRequest, "Missing value.") 27 default: 28 return c.String(http.StatusOK, "live") 29 } 30 } 31 32 func Config(c ApiContext) error { 33 return c.JSON(http.StatusOK, viper.AllSettings()) 34 }