|
|
@ -7,14 +7,11 @@ |
|
|
package dtmsvr |
|
|
package dtmsvr |
|
|
|
|
|
|
|
|
import ( |
|
|
import ( |
|
|
"context" |
|
|
|
|
|
"errors" |
|
|
"errors" |
|
|
"fmt" |
|
|
"fmt" |
|
|
"strings" |
|
|
"strings" |
|
|
"time" |
|
|
"time" |
|
|
|
|
|
|
|
|
"google.golang.org/grpc" |
|
|
|
|
|
|
|
|
|
|
|
"github.com/dtm-labs/dtm/dtmcli" |
|
|
"github.com/dtm-labs/dtm/dtmcli" |
|
|
"github.com/dtm-labs/dtm/dtmcli/dtmimp" |
|
|
"github.com/dtm-labs/dtm/dtmcli/dtmimp" |
|
|
"github.com/dtm-labs/dtm/dtmcli/logger" |
|
|
"github.com/dtm-labs/dtm/dtmcli/logger" |
|
|
@ -122,20 +119,13 @@ func (t *TransGlobal) getURLResult(url string, branchID, op string, branchPayloa |
|
|
if err != nil { |
|
|
if err != nil { |
|
|
return err |
|
|
return err |
|
|
} |
|
|
} |
|
|
dtmgimp.ClientInterceptors = append(dtmgimp.ClientInterceptors, func(ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error { |
|
|
|
|
|
timeout := conf.RequestTimeout |
|
|
|
|
|
if t.RequestTimeout != 0 { |
|
|
|
|
|
timeout = conf.RequestTimeout |
|
|
|
|
|
} |
|
|
|
|
|
ctx2, cancel := context.WithTimeout(ctx, time.Duration(timeout)*time.Second) |
|
|
|
|
|
defer cancel() |
|
|
|
|
|
return invoker(ctx2, method, req, reply, cc, opts...) |
|
|
|
|
|
}) |
|
|
|
|
|
conn := dtmgimp.MustGetGrpcConn(server, true) |
|
|
conn := dtmgimp.MustGetGrpcConn(server, true) |
|
|
ctx := dtmgimp.TransInfo2Ctx(t.Gid, t.TransType, branchID, op, "") |
|
|
ctx := dtmgimp.TransInfo2Ctx(t.Gid, t.TransType, branchID, op, "") |
|
|
kvs := dtmgimp.Map2Kvs(t.Ext.Headers) |
|
|
kvs := dtmgimp.Map2Kvs(t.Ext.Headers) |
|
|
kvs = append(kvs, dtmgimp.Map2Kvs(t.BranchHeaders)...) |
|
|
kvs = append(kvs, dtmgimp.Map2Kvs(t.BranchHeaders)...) |
|
|
ctx = metadata.AppendToOutgoingContext(ctx, kvs...) |
|
|
ctx = metadata.AppendToOutgoingContext(ctx, kvs...) |
|
|
|
|
|
ctx = dtmgimp.RequestTimeoutNewContext(ctx, t.RequestTimeout) |
|
|
err = conn.Invoke(ctx, method, branchPayload, &[]byte{}) |
|
|
err = conn.Invoke(ctx, method, branchPayload, &[]byte{}) |
|
|
if err == nil { |
|
|
if err == nil { |
|
|
return nil |
|
|
return nil |
|
|
|