registering function as a service
I would like to handle method names which are not in a form "Service.Method", whch seems currently imposible.
One way to handle this would be to have *(Server) RegisterFunc method accepting function and string with a method name as parameters.
Example usage:
func HeartBeat(r *http.Request, args *HeartBeatArgs, reply *HeartBeatReply) error {
reply.TimeStamp = time.Now().UnixNano()
}
s := rpc.NewServer()
s.RegisterService(heartBeat, "heartBeat")
That way any call with method "heartBeat" should be directed to function HeartBeat.
I would also like to know if this is possible. I suspect either using a custom codec or intercepting the http request would make this possible. Any thoughts?
Looking at https://github.com/gorilla/rpc/blob/bffcfa752ad4e523cc8f720afeb5b985ed41ae16/v2/server.go#L176 it seems that Intercept nor Before functions would get the chance to modify the method/service name before an error is thrown.
Hit the same issue, but found the solution in https://github.com/divan/gorilla-xmlrpc/issues/14