in proxy/protocol/dubbo/dubbo/codec.go [329:361]
func (p *DubboCodec) DecodeDubboReqBody(req *Request, bodyBuf *util.ReadBuffer) int {
var obj interface{}
var err error
if req.IsHeartbeat() {
//decodeHeartbeatData
obj, err = bodyBuf.ReadObject()
if err != nil {
req.SetData(err.Error())
req.SetBroken(true)
return -1
}
} else if req.IsEvent() {
//decodeEventData
obj, err = bodyBuf.ReadObject()
if err != nil {
req.SetData(err.Error())
req.SetBroken(true)
return -1
}
} else {
req.SetAttachment(DubboVersionKey, bodyBuf.ReadString())
req.SetAttachment(PathKey, bodyBuf.ReadString())
req.SetAttachment(VersionKey, bodyBuf.ReadString())
req.SetVersion(req.GetAttachment(VersionKey, ""))
req.SetMethodName(bodyBuf.ReadString())
obj = bodyBuf.GetBuf()
req.SetBroken(false)
req.SetData(obj)
}
return 0
}