From 0d8c7bffb2df9c8893eb97e1981550d6108c6c0f Mon Sep 17 00:00:00 2001 From: Pietralberto Mazza <18440657+altafan@users.noreply.github.com> Date: Fri, 9 Feb 2024 17:20:14 +0100 Subject: [PATCH] Handle tls connection with asp (#96) --- noah/client.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/noah/client.go b/noah/client.go index 160f3a4..2c656fa 100644 --- a/noah/client.go +++ b/noah/client.go @@ -2,10 +2,12 @@ package main import ( "fmt" + "strings" arkv1 "github.com/ark-network/ark/api-spec/protobuf/gen/ark/v1" "github.com/urfave/cli/v2" "google.golang.org/grpc" + "google.golang.org/grpc/credentials" "google.golang.org/grpc/credentials/insecure" ) @@ -52,7 +54,17 @@ func getClientFromState(ctx *cli.Context) (arkv1.ArkServiceClient, func(), error } func getClient(ctx *cli.Context, addr string) (arkv1.ArkServiceClient, func(), error) { - conn, err := grpc.Dial(addr, grpc.WithTransportCredentials(insecure.NewCredentials())) + creds := insecure.NewCredentials() + port := 80 + if strings.HasPrefix(addr, "https://") { + addr = strings.TrimPrefix(addr, "https://") + creds = credentials.NewTLS(nil) + port = 443 + } + if !strings.Contains(addr, ":") { + addr = fmt.Sprintf("%s:%d", addr, port) + } + conn, err := grpc.Dial(addr, grpc.WithTransportCredentials(creds)) if err != nil { return nil, nil, err }