Spaces:
Sleeping
Sleeping
| // _ _ | |
| // __ _____ __ ___ ___ __ _| |_ ___ | |
| // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ | |
| // \ V V / __/ (_| |\ V /| | (_| | || __/ | |
| // \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| | |
| // | |
| // Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. | |
| // | |
| // CONTACT: [email protected] | |
| // | |
| package helper | |
| import ( | |
| "crypto/tls" | |
| "fmt" | |
| "strings" | |
| pb "github.com/weaviate/weaviate/grpc/generated/protocol/v1" | |
| "google.golang.org/grpc" | |
| "google.golang.org/grpc/credentials" | |
| "google.golang.org/grpc/credentials/insecure" | |
| ) | |
| func CreateGrpcConnectionClient(host string) (*grpc.ClientConn, error) { | |
| var opts []grpc.DialOption | |
| opts = append(opts, grpc.WithBlock()) | |
| if strings.HasSuffix(host, ":443") { | |
| tlsConfig := &tls.Config{ | |
| InsecureSkipVerify: true, | |
| } | |
| opts = append(opts, grpc.WithTransportCredentials(credentials.NewTLS(tlsConfig))) | |
| } else { | |
| opts = append(opts, grpc.WithTransportCredentials(insecure.NewCredentials())) | |
| } | |
| conn, err := grpc.Dial(host, opts...) | |
| if err != nil { | |
| return nil, fmt.Errorf("failed to dial: %w", err) | |
| } | |
| return conn, nil | |
| } | |
| func CreateGrpcWeaviateClient(conn *grpc.ClientConn) pb.WeaviateClient { | |
| return pb.NewWeaviateClient(conn) | |
| } | |