I have a proto file defined a rpcc service below :
service Greeter {
rpc handle (Request) returns (Response) {
}
}
in xxx.pb.micro.go, Handle method generated. And I have debug a little, find out go-micro use reflect to get the service name and method, and then register them in somewhere. but I see in xxx.pb.micro.go, it use lowercase method to gennerate request. This will lead 'unknown service Greeter.handle'
func (c *greeterService) Handle(ctx context.Context, in *Request, opts ...client.CallOption) (*Response, error) {
req := c.c.NewRequest(c.name, "Greeter.handle", in)
out := new(Response)
err := c.c.Call(ctx, req, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
I mannually change the generated xxx.pb.microgo code from
req := c.c.NewRequest(c.name, "Greeter.handle", in) to
req := c.c.NewRequest(c.name, "Greeter.Handle", in)
Then it works
So my question is does go-micro only support uppercase name ? Any suggetion will be appreciate