我有一个收到.这可能是我的任何一条消息,但在这种情况下,我的所有消息都有一个共同的子消息。UnaryServerInterceptorreqInterface{}reqmetadata
原型定义(示例)
message ClientMeta {
string info = 1;
}
message PingRequest {
ClientMeta metadata = 1;
}
message OtherRequest {
ClientMeta metadata = 1;
}
service Blah {
rpc Ping (PingRequest) returns (PingResponse) {}
rpc Other (OtherRequest) returns (OtherResponses) {}
}
拦截 器
func (i *authInterceptor) unary() grpc.UnaryServerInterceptor {
return func(
ctx context.Context,
req interface{},
info *grpc.UnaryServerInfo,
handler grpc.UnaryHandler,
) (interface{}, error) {
log.Info().Msgf("interceptor: %s", info.FullMethod)
}
}
我需要访问拦截器中消息的属性。问题是我不知道它是哪个信息,所以我不能只是投射它。我有几个不同的消息,但它们都有共同点。metadatametadata
最好的方法是什么?
largeQ
相关分类