nil pointer fix
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
ycc
2026-02-27 20:13:58 +01:00
parent aeeebf6f58
commit f76213d55a

View File

@@ -126,19 +126,23 @@ func attemptSendJob(job *client.SendJob) (int, error) {
} }
for i, srv := range job.Servers { for i, srv := range job.Servers {
// Prepare for server
var packedUsrMsg *meowlib.PackedUserMessage
err := proto.Unmarshal(data, packedUsrMsg)
if err != nil {
// todo
return -1, err
}
PackMessageForServer(packedUsrMsg, srv.GetUid())
if job.Retries[i] >= maxRetriesPerServer { if job.Retries[i] >= maxRetriesPerServer {
continue // this server is exhausted continue // this server is exhausted
} }
_, err = meowlib.HttpPostMessage(srv.Url, data, timeout)
// Unmarshal the stored PackedUserMessage and wrap it for this server.
packedUsrMsg := &meowlib.PackedUserMessage{}
if err := proto.Unmarshal(data, packedUsrMsg); err != nil {
return -1, err
}
serverData, errTxt, packErr := PackMessageForServer(packedUsrMsg, srv.GetUid())
if packErr != nil {
logger.Error().Err(packErr).Str("errTxt", errTxt).Str("url", srv.Url).Msg("attemptSendJob: PackMessageForServer")
job.Retries[i]++
continue
}
_, err = meowlib.HttpPostMessage(srv.Url, serverData, timeout)
if err != nil { if err != nil {
logger.Warn().Err(err).Str("url", srv.Url).Int("retry", job.Retries[i]+1).Msg("attemptSendJob: POST failed") logger.Warn().Err(err).Str("url", srv.Url).Int("retry", job.Retries[i]+1).Msg("attemptSendJob: POST failed")
job.Retries[i]++ job.Retries[i]++