From 640732a85c0c81e601b6126977cc98dd6a4fb22f Mon Sep 17 00:00:00 2001 From: Shubham Jain Date: Sat, 29 Apr 2023 18:04:41 +0530 Subject: [PATCH] fix: use jsonpb.Marshaler instead of json.Marshal (#190) Signed-off-by: Shubham Jain --- integrations/kgrpcserver/kgrpcserver.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/integrations/kgrpcserver/kgrpcserver.go b/integrations/kgrpcserver/kgrpcserver.go index 13514eeb..4ba35ac0 100644 --- a/integrations/kgrpcserver/kgrpcserver.go +++ b/integrations/kgrpcserver/kgrpcserver.go @@ -4,6 +4,8 @@ import ( "context" "encoding/json" "fmt" + "github.com/golang/protobuf/jsonpb" + "github.com/golang/protobuf/proto" "strings" "github.com/keploy/go-sdk/keploy" @@ -69,11 +71,12 @@ func serverInterceptor(k *keploy.Keploy) func( ctx = context.WithValue(ctx, internal.KCTX, &internal.Context{ Mode: keploy.MODE_RECORD, }) - reqByte, err1 := json.Marshal(req) + + m := jsonpb.Marshaler{} + reqJSON, err1 := m.MarshalToString(req.(proto.Message)) if err1 != nil { k.Log.Error("failed to marshal grpc request body and tcs is not captured", zap.Error(err1)) } - requestJson := string(reqByte) infoByte, err1 := json.Marshal(info) if err1 != nil { k.Log.Error("", zap.Error(err1)) @@ -104,7 +107,7 @@ func serverInterceptor(k *keploy.Keploy) func( return c, err1 } resp := string(respByte) - keploy.CaptureGrpcTC(k, ctx, models.GrpcReq{Body: requestJson, Method: method}, models.GrpcResp{Body: resp, Err: errStr}) + keploy.CaptureGrpcTC(k, ctx, models.GrpcReq{Body: reqJSON, Method: method}, models.GrpcResp{Body: resp, Err: errStr}) return c, err } }