Browse Source

fix: can not restart

Hintay 19 hours ago
parent
commit
898a315fa7
1 changed files with 6 additions and 10 deletions
  1. 6 10
      main.go

+ 6 - 10
main.go

@@ -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)
-		}
-		if err != nil && !errors.Is(err, http.ErrServerClosed) {
-			logger.Fatalf("listen: %s\n", err)
+			return srv.Serve(listener)
 		}
 		}
-		return nil
 	}
 	}
 }
 }