Browse Source

Handle Close errors for errcheck

Check http response body, websocket, and server connection Close return values to satisfy golangci-lint errcheck.
ish_v.1.2.1
Alex 2 months ago
parent
commit
a9e8cac0e5
  1. 18
      client/main.go
  2. 6
      server/main.go

18
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(),

6
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`

Loading…
Cancel
Save