32 lines
785 B
Go
32 lines
785 B
Go
package grpcconn
|
|
|
|
import (
|
|
"context"
|
|
"strings"
|
|
"time"
|
|
|
|
"go.unistack.org/micro/v3/client"
|
|
"go.unistack.org/micro/v3/logger"
|
|
)
|
|
|
|
func Call(ctx context.Context, rquid string, l logger.Logger, c client.Client, addr string, td time.Duration, req client.Request, rsp interface{}, opts ...client.CallOption) error {
|
|
var err error
|
|
|
|
err = c.Call(ctx, req, rsp,
|
|
client.WithAddress(addr),
|
|
client.WithRequestTimeout(td),
|
|
// client.WithContentType("application/json"),
|
|
)
|
|
if err != nil {
|
|
l.Error(ctx, "call failed", "x-request-id", rquid, err)
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func ServiceMethod(method string) (string, string, string) {
|
|
idx1 := strings.LastIndex(method, ".")
|
|
idx2 := strings.Index(method[:idx1], ".")
|
|
return method[:idx2], method[idx2+1 : idx1], method[idx1+1:]
|
|
}
|