From de02d636adf6f20341a776f110b329c106d1946c Mon Sep 17 00:00:00 2001 From: Vasiliy Tolstov Date: Mon, 21 Mar 2022 12:53:33 +0300 Subject: [PATCH] fix drpc method passing Signed-off-by: Vasiliy Tolstov --- request.go | 5 ++++- request_test.go | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/request.go b/request.go index dd60630..fddae5f 100644 --- a/request.go +++ b/request.go @@ -18,13 +18,16 @@ type drpcRequest struct { } // service Struct.Method /service.Struct/Method -func methodToDRPC(_ string, method string) string { +func methodToDRPC(service string, method string) string { // no method or already drpc method if len(method) == 0 || method[0] == '/' { return method } idx := strings.LastIndex(method, ".") + if len(method) < 3 || idx < 2 { + return fmt.Sprintf("/%s.%s", strings.Title(service), method) + } drpcService := method[:idx] drpcMethod := method[idx+1:] return fmt.Sprintf("/%s/%s", drpcService, drpcMethod) diff --git a/request_test.go b/request_test.go index 9369d05..c2d5870 100644 --- a/request_test.go +++ b/request_test.go @@ -12,7 +12,7 @@ func TestMethodToDRPC(t *testing.T) { }{ { "helloworld", - "Greeter.SayHello", + "Greeter/SayHello", "/Helloworld.Greeter/SayHello", }, {