From e48ff4b24189e2273ccb8aee0f40681a6e8d0cbc Mon Sep 17 00:00:00 2001 From: pcong Date: Fri, 17 Jan 2025 17:49:56 +0800 Subject: [PATCH] fix: unable to close local proxy --- godo/proxy/local.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/godo/proxy/local.go b/godo/proxy/local.go index d9c62e4..856d44a 100644 --- a/godo/proxy/local.go +++ b/godo/proxy/local.go @@ -135,8 +135,10 @@ func UpdateLocalProxyHandler(w http.ResponseWriter, r *http.Request) { // 停止旧的代理服务 stopProxy(lp.ID) - // 启动新的代理服务 - go startProxy(lp) + if !lp.Status { + // 启动新的代理服务 + go startProxy(lp) + } libs.SuccessMsg(w, lp, "") } @@ -237,11 +239,13 @@ func stopProxy(id uint) { switch proxyServer.Type { case "http": + fmt.Println("closing http proxy...") httpServer, ok := proxyServer.Server.(*http.Server) if ok { // 创建一个上下文,用于传递给 server.Shutdown(ctx) ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() + defer httpServer.Close() if err := httpServer.Shutdown(ctx); err != nil { fmt.Printf("Failed to shutdown HTTP server on port %s: %v\n", httpServer.Addr, err) } else {