package service import ( "context" "errors" "github.com/sirupsen/logrus" "net/http" "time" ) var server *http.Server func InitServer(addr string, handler http.Handler) { server = &http.Server{ Addr: addr, Handler: handler, } } // StartServer запускает панель по HTTP. // // Собственного TLS-слоя у админки нет: production-контракт HY2XS — // HY2XS_UI_BIND_HOST=127.0.0.1 и HY2XS_UI_PUBLIC_ACCESS=false, то есть // внутренний сервис. Ветка ListenAndServeTLS с путями к сертификатам из // SQLite была наследием H UI, где панель публиковалась наружу сама. func StartServer() error { return server.ListenAndServe() } func StopServer() error { ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second) defer cancel() if err := server.Shutdown(ctx); err != nil { logrus.Errorf("failed to shutdown server: %v", err) return errors.New("failed to shutdown server") } return nil }