mirror of
https://github.com/MontFerret/ferret.git
synced 2024-12-12 11:15:14 +02:00
37 lines
539 B
Go
37 lines
539 B
Go
package server
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"github.com/labstack/echo"
|
|
)
|
|
|
|
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)
|
|
|
|
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)
|
|
}
|