This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/dubbo-go.git


The following commit(s) were added to refs/heads/main by this push:
     new f03922ab1 fix: CallClientStream result has error, result.Result() is 
nil to *tri.Response will cause a panic (#2732)
f03922ab1 is described below

commit f03922ab1bcb84b048f53f5b809aa7205c2bb2cf
Author: linfp <[email protected]>
AuthorDate: Thu Sep 26 11:32:33 2024 +0800

    fix: CallClientStream result has error, result.Result() is nil to 
*tri.Response will cause a panic (#2732)
---
 protocol/triple/server.go | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/protocol/triple/server.go b/protocol/triple/server.go
index 40966aebf..0e6dc8279 100644
--- a/protocol/triple/server.go
+++ b/protocol/triple/server.go
@@ -270,7 +270,12 @@ func (s *Server) handleServiceWithInfo(interfaceName 
string, invoker protocol.In
                                        ctx = context.WithValue(ctx, 
constant.AttachmentKey, attachments)
                                        invo := 
invocation.NewRPCInvocation(m.Name, args, attachments)
                                        res := invoker.Invoke(ctx, invo)
-                                       return res.Result().(*tri.Response), 
res.Error()
+                                       if triResp, ok := 
res.Result().(*tri.Response); ok {
+                                               return triResp, res.Error()
+                                       }
+                                       // please refer to 
proxy/proxy_factory/ProxyInvoker.Invoke
+                                       triResp := 
tri.NewResponse([]interface{}{res.Result()})
+                                       return triResp, res.Error()
                                },
                                opts...,
                        )

Reply via email to