Fix null pointer exception on SendPing for non-JWT users

This commit is contained in:
Noah 2025-05-28 22:09:10 -07:00
parent dd951ba69d
commit b884a81bba

View File

@ -8,18 +8,22 @@ import (
// SendPing delivers the Ping message to connected subscribers.
func (sub *Subscriber) SendPing() {
// Send a ping, and a refreshed JWT token if the user sent one.
var token string
var (
token string
rules map[string]bool
)
if sub.JWTClaims != nil {
if jwt, err := sub.JWTClaims.ReSign(); err != nil {
log.Error("ReSign JWT token for %s#%d: %s", sub.Username, sub.ID, err)
} else {
token = jwt
rules = sub.JWTClaims.Rules.ToDict()
}
}
sub.SendJSON(messages.Message{
Action: messages.ActionPing,
JWTToken: token,
JWTRules: sub.JWTClaims.Rules.ToDict(),
JWTRules: rules,
})
}