Complete server lifecycle

This commit is contained in:
Miguel de la Cruz 2021-09-12 18:27:49 +02:00
parent 19a2096193
commit 4e5e40f6f1
3 changed files with 36 additions and 11 deletions

View file

@ -2,7 +2,6 @@ package server
import (
"fmt"
"net/http"
"git.ctrlz.es/mgdelacroix/rmsn/model"
"git.ctrlz.es/mgdelacroix/rmsn/services/store"
@ -13,7 +12,7 @@ type Server struct {
Config *model.Config
Store *store.Store
WebServer *http.Server
WebServer *web.WebServer
}
func NewServer(config *model.Config) (*Server, error) {
@ -48,14 +47,20 @@ func NewServerWithConfigPath(path string) (*Server, error) {
}
func (s *Server) Start() error {
// ToDo: start webserver here
if err := s.WebServer.Start(); err != nil {
return fmt.Errorf("error starting webserver: %w", err)
}
return nil
}
func (s *Server) Close() error {
// ToDo: stop webserver
// ToDo: close store
if err := s.WebServer.Close(); err != nil {
return fmt.Errorf("error stopping webserver: %w", err)
}
if err := s.Store.Close(); err != nil {
return fmt.Errorf("error stopping store: %w", err)
}
return nil
}