Skip to content

Commit 812aa2f

Browse files
committed
Optimized code for RPC_UnSerialize
1 parent b00021c commit 812aa2f

File tree

1 file changed

+27
-13
lines changed

1 file changed

+27
-13
lines changed

server/json_rpc_handler.go

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import (
44
"github.com/hyperf/roc"
55
"github.com/hyperf/roc/exception"
66
"github.com/hyperf/roc/formatter"
7+
"github.com/hyperf/roc/log"
8+
"go.uber.org/zap"
79
"net"
810
)
911

@@ -16,28 +18,40 @@ func NewTcpServerHandler(callback JsonRPCHandler) Handler {
1618
serializer := server.Serializer
1719
packer := server.Packer
1820

19-
serializer.UnSerialize(body, route)
20-
21-
ret, e := callback(route, packet, server)
21+
err := serializer.UnSerialize(body, route)
2222
var response any
23-
if e != nil {
23+
24+
if err != nil {
25+
log.Logger().Error("RPC_UnSerialize", zap.String("body", body))
2426
response = &formatter.JsonRPCErrorResponse[any]{
2527
Id: route.Id,
2628
Error: &formatter.JsonRPCError{
27-
Code: e.GetCode(),
28-
Message: e.GetMessage(),
29+
Code: exception.SERVER_ERROR,
30+
Message: err.Error(),
2931
},
3032
Context: nil,
3133
}
3234
} else {
33-
response = &formatter.JsonRPCResponse[any, any]{
34-
Id: route.Id,
35-
Result: ret,
36-
Context: nil,
35+
ret, e := callback(route, packet, server)
36+
if e != nil {
37+
response = &formatter.JsonRPCErrorResponse[any]{
38+
Id: route.Id,
39+
Error: &formatter.JsonRPCError{
40+
Code: e.GetCode(),
41+
Message: e.GetMessage(),
42+
},
43+
Context: nil,
44+
}
45+
} else {
46+
response = &formatter.JsonRPCResponse[any, any]{
47+
Id: route.Id,
48+
Result: ret,
49+
Context: nil,
50+
}
3751
}
3852
}
3953

40-
serializerd, err := serializer.Serialize(response)
54+
serialized, err := serializer.Serialize(response)
4155
if err != nil {
4256
response = &formatter.JsonRPCErrorResponse[any]{
4357
Id: route.Id,
@@ -47,14 +61,14 @@ func NewTcpServerHandler(callback JsonRPCHandler) Handler {
4761
Context: nil,
4862
}
4963

50-
serializerd, err = serializer.Serialize(response)
64+
serialized, err = serializer.Serialize(response)
5165
if err != nil {
5266
conn.Close()
5367
return
5468
}
5569
}
5670

57-
bt := packer.Pack(roc.NewPacket(packet.GetId(), serializerd))
71+
bt := packer.Pack(roc.NewPacket(packet.GetId(), serialized))
5872

5973
conn.Write(bt)
6074
}

0 commit comments

Comments
 (0)