2017-12-17 13:31:02 +01:00
|
|
|
package extension
|
|
|
|
|
|
|
|
import (
|
2018-02-07 15:34:18 +01:00
|
|
|
"dev.sum7.eu/genofire/yaja/server/utils"
|
2018-02-14 18:49:26 +01:00
|
|
|
"dev.sum7.eu/genofire/yaja/xmpp"
|
|
|
|
"dev.sum7.eu/genofire/yaja/xmpp/base"
|
2017-12-17 13:31:02 +01:00
|
|
|
)
|
|
|
|
|
2017-12-17 15:39:36 +01:00
|
|
|
type IQPing struct {
|
2017-12-17 13:31:02 +01:00
|
|
|
IQExtension
|
|
|
|
}
|
|
|
|
|
2017-12-17 15:39:36 +01:00
|
|
|
func (ex *IQPing) Spaces() []string { return []string{"urn:xmpp:ping"} }
|
2017-12-17 13:31:02 +01:00
|
|
|
|
2018-02-14 18:49:26 +01:00
|
|
|
func (ex *IQPing) Get(msg *xmpp.IQClient, client *utils.Client) bool {
|
2017-12-17 13:31:02 +01:00
|
|
|
log := client.Log.WithField("extension", "ping").WithField("id", msg.ID)
|
|
|
|
|
2018-02-10 13:34:42 +01:00
|
|
|
if msg.Ping == nil {
|
2017-12-17 13:31:02 +01:00
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
|
|
|
// reply
|
2018-02-14 18:49:26 +01:00
|
|
|
client.Messages <- &xmpp.IQClient{
|
|
|
|
Type: xmpp.IQTypeResult,
|
2018-02-10 13:34:42 +01:00
|
|
|
To: client.JID,
|
2018-02-14 18:49:26 +01:00
|
|
|
From: xmppbase.NewJID(client.JID.Domain),
|
2017-12-17 13:31:02 +01:00
|
|
|
ID: msg.ID,
|
2017-12-17 15:39:36 +01:00
|
|
|
}
|
2017-12-17 13:31:02 +01:00
|
|
|
|
|
|
|
log.Debug("send")
|
|
|
|
|
|
|
|
return true
|
|
|
|
}
|