fix: can not restart

This commit is contained in:
Hintay 2025-05-04 03:29:50 +09:00
parent 72ee9fdc58
commit 898a315fa7
No known key found for this signature in database
GPG key ID: 120FC7FF121F2F2D

16
main.go
View file

@ -1,12 +1,11 @@
package main package main
import ( import (
"context"
"crypto/tls" "crypto/tls"
"fmt" "fmt"
"net/http"
"context"
"net" "net"
"net/http"
"os/signal" "os/signal"
"syscall" "syscall"
@ -61,6 +60,7 @@ func Program(confPath string) func(l []net.Listener) error {
srv := &http.Server{ srv := &http.Server{
Handler: cRouter.GetEngine(), Handler: cRouter.GetEngine(),
} }
// defer Shutdown to wait for ongoing requests to be served before returning // defer Shutdown to wait for ongoing requests to be served before returning
defer func(srv *http.Server, ctx context.Context) { defer func(srv *http.Server, ctx context.Context) {
err := srv.Shutdown(ctx) err := srv.Shutdown(ctx)
@ -68,6 +68,7 @@ func Program(confPath string) func(l []net.Listener) error {
logger.Fatal(err) logger.Fatal(err)
} }
}(srv, context.Background()) }(srv, context.Background())
var err error var err error
if cSettings.ServerSettings.EnableHTTPS { if cSettings.ServerSettings.EnableHTTPS {
// Load TLS certificate // Load TLS certificate
@ -83,20 +84,15 @@ func Program(confPath string) func(l []net.Listener) error {
}, },
MinVersion: tls.VersionTLS12, MinVersion: tls.VersionTLS12,
} }
srv.TLSConfig = tlsConfig srv.TLSConfig = tlsConfig
logger.Info("Starting HTTPS server") logger.Info("Starting HTTPS server")
tlsListener := tls.NewListener(listener, tlsConfig) tlsListener := tls.NewListener(listener, tlsConfig)
err = srv.Serve(tlsListener) return srv.Serve(tlsListener)
} else { } else {
logger.Info("Starting HTTP server") logger.Info("Starting HTTP server")
err = srv.Serve(listener) return srv.Serve(listener)
} }
if err != nil && !errors.Is(err, http.ErrServerClosed) {
logger.Fatalf("listen: %s\n", err)
}
return nil
} }
} }