Browse Source

added application/grpc+proto headers to gRPC requests

0xdcarns 3 years ago
parent
commit
1d14768645

+ 3 - 0
netclient/functions/common.go

@@ -176,6 +176,9 @@ func LeaveNetwork(network string, force bool) error {
 			var header metadata.MD
 			var header metadata.MD
 			nodeData, err := json.Marshal(&node)
 			nodeData, err := json.Marshal(&node)
 			if err == nil {
 			if err == nil {
+				md := metadata.New(map[string]string{"content-type": "application/grpc+proto"})
+				ctx = metadata.NewOutgoingContext(ctx, md)
+
 				_, err = wcclient.DeleteNode(
 				_, err = wcclient.DeleteNode(
 					ctx,
 					ctx,
 					&nodepb.Object{
 					&nodepb.Object{

+ 7 - 1
netclient/functions/join.go

@@ -23,6 +23,7 @@ import (
 	"golang.org/x/crypto/nacl/box"
 	"golang.org/x/crypto/nacl/box"
 	"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
 	"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
 	"google.golang.org/grpc"
 	"google.golang.org/grpc"
+	"google.golang.org/grpc/metadata"
 )
 )
 
 
 // JoinNetwork - helps a client join a network
 // JoinNetwork - helps a client join a network
@@ -190,9 +191,14 @@ func JoinNetwork(cfg *config.ClientConfig, privateKey string, iscomms bool) erro
 	if err != nil {
 	if err != nil {
 		return err
 		return err
 	}
 	}
+
+	var ctx = context.TODO()
+	md := metadata.New(map[string]string{"content-type": "application/grpc+proto"})
+	ctx = metadata.NewOutgoingContext(ctx, md)
+
 	// Create node on server
 	// Create node on server
 	res, err := wcclient.CreateNode(
 	res, err := wcclient.CreateNode(
-		context.TODO(),
+		ctx,
 		&nodepb.Object{
 		&nodepb.Object{
 			Data: string(data),
 			Data: string(data),
 			Type: nodepb.NODE_TYPE,
 			Type: nodepb.NODE_TYPE,

+ 3 - 0
netclient/functions/list.go

@@ -118,6 +118,9 @@ func getPeers(network string) ([]Peer, error) {
 	if err != nil {
 	if err != nil {
 		return []Peer{}, fmt.Errorf("authenticating: %w", err)
 		return []Peer{}, fmt.Errorf("authenticating: %w", err)
 	}
 	}
+	md := metadata.New(map[string]string{"content-type": "application/grpc+proto"})
+	ctx = metadata.NewOutgoingContext(ctx, md)
+
 	var header metadata.MD
 	var header metadata.MD
 
 
 	response, err := wcclient.GetPeers(ctx, req, grpc.Header(&header))
 	response, err := wcclient.GetPeers(ctx, req, grpc.Header(&header))

+ 3 - 0
netclient/functions/pull.go

@@ -66,6 +66,9 @@ func Pull(network string, manual bool) (*models.Node, error) {
 			Type: nodepb.NODE_TYPE,
 			Type: nodepb.NODE_TYPE,
 		}
 		}
 
 
+		md := metadata.New(map[string]string{"content-type": "application/grpc+proto"})
+		ctx = metadata.NewOutgoingContext(ctx, md)
+
 		readres, err := wcclient.ReadNode(ctx, req, grpc.Header(&header))
 		readres, err := wcclient.ReadNode(ctx, req, grpc.Header(&header))
 		if err != nil {
 		if err != nil {
 			return nil, err
 			return nil, err