客户端协议代理功能

This commit is contained in:
flswld
2022-12-25 06:33:57 +08:00
parent e96e9e3d3c
commit 9feeb4eafa
14 changed files with 312 additions and 61 deletions

34
common/utils/utils.go Normal file
View File

@@ -0,0 +1,34 @@
package utils
import (
"hk4e/common/config"
"hk4e/pkg/logger"
"hk4e/pkg/object"
pb "google.golang.org/protobuf/proto"
)
func UnmarshalProtoObj(serverProtoObj pb.Message, clientProtoObj pb.Message, data []byte) bool {
if config.CONF.Hk4e.ClientProtoProxyEnable {
err := pb.Unmarshal(data, clientProtoObj)
if err != nil {
logger.Error("parse client proto obj error: %v", err)
return false
}
delList, err := object.CopyProtoBufSameField(serverProtoObj, clientProtoObj)
if err != nil {
logger.Error("copy proto obj error: %v", err)
return false
}
if len(delList) != 0 {
logger.Error("delete field name list: %v", delList)
}
} else {
err := pb.Unmarshal(data, serverProtoObj)
if err != nil {
logger.Error("parse server proto obj error: %v", err)
return false
}
}
return true
}