package http_server import ( "fmt" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" ) type Config struct { Port int `koanf:"port"` } type Server struct { Router *echo.Echo Config Config } func NewServer(cfg Config) Server { e := echo.New() e.Use(middleware.RequestLogger()) e.Use(middleware.Recover()) return Server{ Router: e, Config: cfg, } } func (s Server) Start() error { return s.Router.Start(fmt.Sprintf(":%d", s.Config.Port)) }