package server import ( "fmt" "net/http" "dymatrix.de/jspahl/todo/internal/config" "github.com/gin-gonic/gin" ) var httpServer *http.Server var httpRouter *gin.Engine func Setup() { httpRouter = gin.New() httpRouter.Use(gin.Logger()) registerRoutes(httpRouter) } func ListenAndServe() error { var err error = nil for err == nil || err == http.ErrServerClosed { c := config.GetConfig() httpServer = &http.Server{ Handler: httpRouter, Addr: fmt.Sprintf("%s:%d", c.Listen.Host, c.Listen.Port), } } return err }