Metadata
为了传grpc的meta, 需要添加
// 为了传grpc的meta, 需要添加
// Header: client.WithMetaHandler(transmeta.ClientHTTP2Handler),
// Protocol: client.WithTransportProtocol(transport.GRPC),
// Metadata: 你想接受的 metadata
cli, err3 := demoservice.NewClient(
"demo",
client.WithResolver(r),
client.WithMetaHandler(transmeta.ClientHTTP2Handler),
client.WithTransportProtocol(transport.GRPC),
client.WithClientBasicInfo(&rpcinfo.EndpointBasicInfo{
ServiceName: "demo",
}),
)
if err3 != nil {
panic(err3)
}
传递:
- metainfo.WithPersistentValue: 会一直存在与 metadata 中
- metainfo.WithValue: 只会传递到下一个服务
ctx := metainfo.WithPersistentValue(context.Background(), "CLIENT_NAME", "demo")
res, err2 := cli.Hello(ctx, &v1.Req{Name: "error"})