notify/timeout_error_test.go

23 lines
358 B
Go
Raw Normal View History

package notify
import (
"errors"
"net"
"os"
"strings"
)
func isTimeoutLikeError(err error) bool {
if err == nil {
return false
}
if errors.Is(err, os.ErrDeadlineExceeded) {
return true
}
var netErr net.Error
if errors.As(err, &netErr) && netErr.Timeout() {
return true
}
return strings.Contains(strings.ToLower(err.Error()), "timeout")
}