gmessages/libgm/crypto/decode.go

33 lines
684 B
Go
Raw Normal View History

2023-06-30 09:54:08 +00:00
package crypto
import (
"google.golang.org/protobuf/proto"
"go.mau.fi/mautrix-gmessages/libgm/binary"
)
func DecodeAndEncodeB64(data string, msg proto.Message) error {
decodedBytes, err := Base64DecodeStandard(data)
if err != nil {
return err
}
err = binary.DecodeProtoMessage(decodedBytes, msg)
if err != nil {
return err
}
return nil
}
func DecodeEncodedResponse(data string) (*binary.EncodedResponse, error) {
decodedBytes, err := Base64DecodeStandard(data)
if err != nil {
return nil, err
}
decodedData := &binary.EncodedResponse{}
err = binary.DecodeProtoMessage(decodedBytes, decodedData)
if err != nil {
return nil, err
}
return decodedData, nil
}