package pgproto3
import (
)
type AuthenticationSASLFinal struct {
Data []byte
}
func (*AuthenticationSASLFinal) () {}
func (*AuthenticationSASLFinal) () {}
func ( *AuthenticationSASLFinal) ( []byte) error {
if len() < 4 {
return errors.New("authentication message too short")
}
:= binary.BigEndian.Uint32()
if != AuthTypeSASLFinal {
return errors.New("bad auth type")
}
.Data = [4:]
return nil
}
func ( *AuthenticationSASLFinal) ( []byte) ([]byte, error) {
, := beginMessage(, 'R')
= pgio.AppendUint32(, AuthTypeSASLFinal)
= append(, .Data...)
return finishMessage(, )
}
func ( AuthenticationSASLFinal) () ([]byte, error) {
return json.Marshal(struct {
string
string
}{
: "AuthenticationSASLFinal",
: string(.Data),
})
}
func ( *AuthenticationSASLFinal) ( []byte) error {
if string() == "null" {
return nil
}
var struct {
string
}
if := json.Unmarshal(, &); != nil {
return
}
.Data = []byte(.)
return nil
}