INNER CODE UNIT · Go
decodeArmadillo
tulir/whatsmeow · armadillomessage.go:47
func decodeArmadillo(data []byte) (dec events.FBMessage, err error) {
var transport waMsgTransport.MessageTransport
err = proto.Unmarshal(data, &transport)
if err != nil {
return dec, fmt.Errorf("failed to unmarshal transport: %w", err)
}
dec.Transport = &transport
if transport.GetPayload() == nil {
return
}
appPayloadVer := transport.GetPayload().GetApplicationPayload().GetVersion()
switch appPayloadVer {
case waMsgTransport.FBMessageApplicationVersion:
return decodeFBArmadillo(&transport)
case waMsgTransport.IGMessageApplicationVersion:
return decodeIGArmadillo(&transport)
default:
return dec, fmt.Errorf("%w %d in MessageTransport", armadilloutil.ErrUnsupportedVersion, appPayloadVer)