diff --git a/conn.go b/conn.go index 423381a..cb9ba72 100644 --- a/conn.go +++ b/conn.go @@ -2,6 +2,7 @@ package soju import ( "context" + "errors" "fmt" "io" "net" @@ -163,7 +164,7 @@ func newConn(srv *Server, ic ircConn, options *connOptions) *conn { break } } - if err := c.conn.Close(); err != nil && !isErrClosed(err) { + if err := c.conn.Close(); err != nil && !errors.Is(err, net.ErrClosed) { c.logger.Printf("failed to close connection: %v", err) } else { c.logger.Debugf("connection closed") @@ -202,7 +203,7 @@ func (c *conn) Close() error { func (c *conn) ReadMessage() (*irc.Message, error) { msg, err := c.conn.ReadMessage() - if isErrClosed(err) { + if errors.Is(err, net.ErrClosed) { return nil, io.EOF } else if err != nil { return nil, err diff --git a/net_go113.go b/net_go113.go deleted file mode 100644 index be4f740..0000000 --- a/net_go113.go +++ /dev/null @@ -1,12 +0,0 @@ -//go:build !go1.16 -// +build !go1.16 - -package soju - -import ( - "strings" -) - -func isErrClosed(err error) bool { - return err != nil && strings.Contains(err.Error(), "use of closed network connection") -} diff --git a/net_go116.go b/net_go116.go deleted file mode 100644 index e52ffc5..0000000 --- a/net_go116.go +++ /dev/null @@ -1,13 +0,0 @@ -//go:build go1.16 -// +build go1.16 - -package soju - -import ( - "errors" - "net" -) - -func isErrClosed(err error) bool { - return errors.Is(err, net.ErrClosed) -} diff --git a/server.go b/server.go index c29469a..74e7fd5 100644 --- a/server.go +++ b/server.go @@ -581,7 +581,7 @@ func (s *Server) Serve(ln net.Listener, handler func(ircConn)) error { for { conn, err := ln.Accept() - if isErrClosed(err) { + if errors.Is(err, net.ErrClosed) { return nil } else if err != nil { return fmt.Errorf("failed to accept connection: %v", err)