package app import ( "errors" "net/http" "git.az-it.net/az/morz-infoboard/server/backend/internal/config" "git.az-it.net/az/morz-infoboard/server/backend/internal/httpapi" ) type App struct { Config config.Config server *http.Server } func New() (*App, error) { cfg := config.Load() store, err := httpapi.NewStoreFromConfig(cfg.StatusStorePath) if err != nil { return nil, err } return &App{ Config: cfg, server: &http.Server{ Addr: cfg.HTTPAddress, Handler: httpapi.NewRouter(store), }, }, nil } func (a *App) Run() error { err := a.server.ListenAndServe() if errors.Is(err, http.ErrServerClosed) { return nil } return err }