niki/pkg/http_server/server.go

34 lines
482 B
Go

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))
}