From a9e8cac0e502cec9c3cd0156d18feaf03edcd5b4 Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 28 Mar 2026 00:15:00 +0300 Subject: [PATCH] Handle Close errors for errcheck Check http response body, websocket, and server connection Close return values to satisfy golangci-lint errcheck. --- client/main.go | 18 +++++++++++++++--- server/main.go | 6 +++++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/client/main.go b/client/main.go index 2d453db..792bf80 100644 --- a/client/main.go +++ b/client/main.go @@ -56,7 +56,11 @@ func getVkCreds(link string) (string, string, string, error) { if err != nil { return nil, err } - defer httpResp.Body.Close() + defer func() { + if closeErr := httpResp.Body.Close(); closeErr != nil { + log.Printf("close response body: %s", closeErr) + } + }() body, err := io.ReadAll(httpResp.Body) if err != nil { @@ -267,7 +271,11 @@ func getYandexCreds(link string) (string, string, string, error) { if err != nil { return "", "", "", err } - defer resp.Body.Close() + defer func() { + if closeErr := resp.Body.Close(); closeErr != nil { + log.Printf("close response body: %s", closeErr) + } + }() if resp.StatusCode != http.StatusOK { body, _ := io.ReadAll(resp.Body) return "", "", "", fmt.Errorf("GetConference: status=%s body=%s", resp.Status, string(body)) @@ -295,7 +303,11 @@ func getYandexCreds(link string) (string, string, string, error) { if err != nil { return "", "", "", fmt.Errorf("ws dial: %w", err) } - defer conn.Close() + defer func() { + if closeErr := conn.Close(); closeErr != nil { + log.Printf("close websocket: %s", closeErr) + } + }() req1 := HelloRequest{ UID: uuid.New().String(), diff --git a/server/main.go b/server/main.go index 87ee9d6..819f9b5 100644 --- a/server/main.go +++ b/server/main.go @@ -89,7 +89,11 @@ func main() { wg1.Add(1) go func(conn net.Conn) { defer wg1.Done() - defer conn.Close() // graceful shutdown + defer func() { + if closeErr := conn.Close(); closeErr != nil { + log.Printf("failed to close incoming connection: %s", closeErr) + } + }() var err error = nil log.Printf("Connection from %s\n", conn.RemoteAddr()) // `conn` is of type `net.Conn` but may be casted to `dtls.Conn`