sum7
/
yaja
Archived
1
0
Fork 0
This repository has been archived on 2020-09-27. You can view files and clone it, but cannot push or open issues or pull requests.
yaja/server/extension/iq_ping.go

40 lines
753 B
Go
Raw Normal View History

package extension
import (
"encoding/xml"
2018-02-07 15:34:18 +01:00
"dev.sum7.eu/genofire/yaja/messages"
"dev.sum7.eu/genofire/yaja/server/utils"
)
2017-12-17 15:39:36 +01:00
type IQPing struct {
IQExtension
}
2017-12-17 15:39:36 +01:00
func (ex *IQPing) Spaces() []string { return []string{"urn:xmpp:ping"} }
func (ex *IQPing) Get(msg *messages.IQClient, client *utils.Client) bool {
log := client.Log.WithField("extension", "ping").WithField("id", msg.ID)
// ping encode
type ping struct {
XMLName xml.Name `xml:"urn:xmpp:ping ping"`
}
pq := &ping{}
2017-12-17 17:50:51 +01:00
if err := xml.Unmarshal(msg.Body, pq); err != nil {
return false
}
// reply
client.Messages <- &messages.IQClient{
Type: messages.IQTypeResult,
To: client.JID.String(),
From: client.JID.Domain,
ID: msg.ID,
2017-12-17 15:39:36 +01:00
}
log.Debug("send")
return true
}