func()

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
}