Source File
authentication_sasl.go
Belonging Package
github.com/jackc/pgproto3/v2
package pgproto3
import (
)
type AuthenticationSASL struct {
AuthMechanisms []string
}
func (*AuthenticationSASL) () {}
func ( *AuthenticationSASL) ( []byte) error {
if len() < 4 {
return errors.New("authentication message too short")
}
:= binary.BigEndian.Uint32()
if != AuthTypeSASL {
return errors.New("bad auth type")
}
:= [4:]
for len() > 1 {
:= bytes.IndexByte(, 0)
if > 0 {
.AuthMechanisms = append(.AuthMechanisms, string([:]))
= [+1:]
}
}
return nil
}
func ( *AuthenticationSASL) ( []byte) []byte {
= append(, 'R')
:= len()
= pgio.AppendInt32(, -1)
= pgio.AppendUint32(, AuthTypeSASL)
for , := range .AuthMechanisms {
= append(, []byte()...)
= append(, 0)
}
= append(, 0)
pgio.SetInt32([:], int32(len([:])))
return
![]() |
The pages are generated with Golds v0.3.2-preview. (GOOS=darwin GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |