Check major version only if it exists

This commit is contained in:
Tyler 2021-01-06 21:35:22 -05:00
parent 90365cd9e4
commit d9a5b1160c
1 changed files with 11 additions and 7 deletions

18
node.go
View File

@ -77,10 +77,11 @@ type FrameStats struct {
func (node *Node) open(ctx context.Context) error {
header := http.Header{}
header.Set("User-Agent", gavalinkUserAgent())
header.Set("Authorization", node.config.Password)
header.Set("Num-Shards", strconv.Itoa(node.manager.shards))
header.Set("User-Id", node.manager.userID)
header.Set("Client-Name", "Gavalink")
header.Set("User-Agent", gavalinkUserAgent())
if node.manager.capabilities != nil {
v := make([]string, 0)
@ -104,16 +105,19 @@ func (node *Node) open(ctx context.Context) error {
return err
}
// TODO: This isn't officially required, so we ignore it for now if it's empty.
vstr := resp.Header.Get("Lavalink-Major-Version")
v, err := strconv.Atoi(vstr)
if vstr != "" {
v, err := strconv.Atoi(vstr)
if err != nil {
return err
}
if err != nil {
return err
}
if v < 3 {
return errInvalidVersion
if v < 3 {
return errInvalidVersion
}
}
node.wsConn = ws