bloat/read.go
2025-04-07 01:36:55 -06:00

20 lines
426 B
Go

package bloat
import "errors"
func (b *Bloat[T]) Read(packed []byte, author Bloat[T]) (T, error) {
var final T
decrypted, err := b.Decrypt(packed) // our own key
if err != nil {
return final, err
}
body, verified, err := author.Verify(decrypted) // author's key
if err != nil {
return final, err
}
if !verified {
return final, errors.New("not verified")
}
final, err = b.Unmarshal(body)
return final, err
}