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") }