Files
opencloud/extensions/proxy/pkg/cs3/client.go
Christian Richter 92d76e00ab refactor proxy
Signed-off-by: Christian Richter <crichter@owncloud.com>
2022-04-13 17:04:37 +02:00

40 lines
971 B
Go

package cs3
import (
gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1"
proxytracing "github.com/owncloud/ocis/extensions/proxy/pkg/tracing"
"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
)
func newConn(endpoint string) (*grpc.ClientConn, error) {
conn, err := grpc.Dial(
endpoint,
grpc.WithTransportCredentials(insecure.NewCredentials()),
grpc.WithUnaryInterceptor(
otelgrpc.UnaryClientInterceptor(
otelgrpc.WithTracerProvider(
proxytracing.TraceProvider,
),
),
),
)
if err != nil {
return nil, err
}
return conn, nil
}
// GetGatewayServiceClient returns a new cs3 gateway client
func GetGatewayServiceClient(endpoint string) (gateway.GatewayAPIClient, error) {
// TODO: check connection pooling
conn, err := newConn(endpoint)
if err != nil {
return nil, err
}
return gateway.NewGatewayAPIClient(conn), nil
}