diff --git a/internal/api_to_rpc/api.go b/internal/api_to_rpc/api.go index 81037d2bb..26914da4a 100644 --- a/internal/api_to_rpc/api.go +++ b/internal/api_to_rpc/api.go @@ -4,10 +4,10 @@ import ( "Open_IM/pkg/common/trace_log" "Open_IM/pkg/getcdv3" utils2 "Open_IM/pkg/utils" + "context" "fmt" utils "github.com/OpenIMSDK/open_utils" "github.com/gin-gonic/gin" - "google.golang.org/grpc/metadata" "reflect" ) @@ -44,10 +44,11 @@ func ApiToRpc(c *gin.Context, apiReq, apiResp interface{}, rpcName string, rpcCl return } trace_log.SetContextInfo(nCtx, logFuncName, nil, "opUserID", opUserID, "callRpcReq", rpcString(rpcReqPtr.Elem().Interface())) - md := metadata.Pairs("operationID", operationID, "opUserID", opUserID) + //md := metadata.Pairs("operationID", operationID, "opUserID", opUserID) respArr := rpc.Call([]reflect.Value{ - reflect.ValueOf(metadata.NewOutgoingContext(c, md)), // context.Context - rpcReqPtr, // rpc apiReq + //reflect.ValueOf(metadata.NewOutgoingContext(c, md)), // context.Context + reflect.ValueOf(context.Context(c)), // context.Context + rpcReqPtr, // rpc apiReq }) // respArr => (apiResp, error) if !respArr[1].IsNil() { // rpc err != nil err := respArr[1].Interface().(error) diff --git a/pkg/common/middleware/rpc.go b/pkg/common/middleware/rpc.go index de4f9a46d..1e4d0b293 100644 --- a/pkg/common/middleware/rpc.go +++ b/pkg/common/middleware/rpc.go @@ -34,9 +34,7 @@ func RpcServerInterceptor(ctx context.Context, req interface{}, info *grpc.Unary operationID = opts[0] } var opUserID string - if opts := md.Get("opUserID"); len(opts) != 1 { - return nil, status.New(codes.InvalidArgument, "opUserID error").Err() - } else { + if opts := md.Get("opUserID"); len(opts) == 1 { opUserID = opts[0] } ctx = trace_log.NewRpcCtx(ctx, funcName, operationID)