1
0
mirror of https://github.com/MontFerret/ferret.git synced 2024-12-18 23:47:48 +02:00
ferret/e2e/server/server.go
2018-11-12 14:53:36 -05:00

39 lines
612 B
Go

package server
import (
"context"
"fmt"
"github.com/labstack/echo"
"path/filepath"
)
type (
Settings struct {
Port uint64
Dir string
}
Server struct {
engine *echo.Echo
settings Settings
}
)
func New(settings Settings) *Server {
e := echo.New()
e.Debug = false
e.HideBanner = true
e.Static("/", settings.Dir)
e.File("/", filepath.Join(settings.Dir, "index.html"))
return &Server{e, settings}
}
func (s *Server) Start() error {
return s.engine.Start(fmt.Sprintf("0.0.0.0:%d", s.settings.Port))
}
func (s *Server) Stop(ctx context.Context) error {
return s.engine.Shutdown(ctx)
}