docs: add releasing process documentation

chore: update go.mod dependencies and versions

chore: update go.sum with new dependency versions

scripts: add coverage check script

scripts: add release notes generation script

test: refactor tests to use goconvey for assertions

test: enhance webserver tests with additional cases and goconvey

fix: improve error logging in web server start and stop methods
This commit is contained in:
2026-03-29 20:47:30 +02:00
parent d5660ba8ca
commit 9b0d844ec3
11 changed files with 794 additions and 206 deletions
+16 -21
View File
@@ -22,6 +22,10 @@ import (
log "scm.yoorie.de/go-lib/gelf"
)
const (
errStartingServerLog = "error starting server: %s"
)
type WebServerConfiguration struct {
Host string `yaml:"host"`
Port int `default:"7080" yaml:"port"`
@@ -202,26 +206,13 @@ func (server *WebServer) Start() error {
server.DebugRoutes("Main", server.router)
server.DebugRoutes("Health", server.healthRouter)
if ssl {
err := server.setupSsl()
if err != nil {
if err := server.setupSsl(); err != nil {
return err
}
} else {
// own http server for the healthchecks
httpAddress := server.serviceConfig.BuildHostAddress(false)
server.srv = &http.Server{
Addr: httpAddress,
WriteTimeout: time.Second * 15,
ReadTimeout: time.Second * 15,
IdleTimeout: time.Second * 60,
Handler: server.router,
if err := server.setupHttp(); err != nil {
return err
}
go func() {
log.Infof("Starting http server on address: %s", server.srv.Addr)
if err := server.srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
log.Alertf("error starting server: %s", err.Error())
}
}()
}
return nil
}
@@ -239,7 +230,7 @@ func (server *WebServer) setupHttp() error {
go func() {
log.Infof("Starting http server on address: %s", server.srv.Addr)
if err := server.srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
log.Alertf("error starting server: %s", err.Error())
log.Alertf(errStartingServerLog, err.Error())
}
}()
return nil
@@ -263,7 +254,7 @@ func (server *WebServer) setupSsl() error {
go func() {
log.Infof("Starting https server on address: %s", server.sslsrv.Addr)
if err := server.sslsrv.ListenAndServeTLS("", ""); err != nil && err != http.ErrServerClosed {
log.Alertf("error starting server: %s", err.Error())
log.Alertf(errStartingServerLog, err.Error())
}
}()
httpAddress := server.serviceConfig.BuildHostAddress(false)
@@ -277,7 +268,7 @@ func (server *WebServer) setupSsl() error {
go func() {
log.Infof("Starting http server on address: %s", server.srv.Addr)
if err := server.srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
log.Alertf("error starting server: %s", err.Error())
log.Alertf(errStartingServerLog, err.Error())
}
}()
return nil
@@ -296,9 +287,13 @@ func (server *WebServer) Stop() {
defer cancel()
log.Info("Shutting down server ...")
server.srv.Shutdown(ctx)
if err := server.srv.Shutdown(ctx); err != nil {
log.Alertf("error shutting down http server: %s", err.Error())
}
if server.isSsl() {
server.sslsrv.Shutdown(ctx)
if err := server.sslsrv.Shutdown(ctx); err != nil {
log.Alertf("error shutting down https server: %s", err.Error())
}
}
log.Info("Server has been shutted down")
}