|
|
|
@ -235,11 +235,11 @@ func (wf *Workflow) DoXa(dbConf dtmcli.DBConf, fn func(db *sql.DB) ([]byte, erro |
|
|
|
// Interceptor is the middleware for workflow to capture grpc call result
|
|
|
|
func Interceptor(ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error { |
|
|
|
logger.Debugf("grpc client calling: %s%s %v", cc.Target(), method, dtmimp.MustMarshalString(req)) |
|
|
|
wf, _ := ctx.Value(wfMeta{}).(*Workflow) |
|
|
|
if wf == nil { |
|
|
|
wfVal := ctx.Value(wfMeta{}) |
|
|
|
if wfVal == nil { |
|
|
|
return invoker(ctx, method, req, reply, cc, opts...) |
|
|
|
} |
|
|
|
|
|
|
|
wf, _ := wfVal.(*Workflow) |
|
|
|
origin := func() error { |
|
|
|
ctx1 := dtmgimp.TransInfo2Ctx(ctx, wf.Gid, wf.TransType, wf.currentBranch, wf.currentOp, wf.Dtm) |
|
|
|
err := invoker(ctx1, method, req, reply, cc, opts...) |
|
|
|
|