Removed debug comment and extra action with an IQ query

This commit is contained in:
Vladimir 2016-09-09 09:56:30 +05:00
parent ccac8addc9
commit 6265286138

38
xmpp.go
View File

@ -40,7 +40,6 @@ const (
nsBind = "urn:ietf:params:xml:ns:xmpp-bind"
nsClient = "jabber:client"
nsSession = "urn:ietf:params:xml:ns:xmpp-session"
nsPing = "urn:xmpp:ping"
)
// Default TLS configuration options
@ -601,15 +600,10 @@ func (c *Client) Recv() (stanza interface{}, err error) {
case *clientPresence:
return Presence{v.From, v.To, v.Type, v.Show, v.Status}, nil
case *clientIQ:
//fmt.Printf("$+v", val)
_, vali, err := UnmarshalIqQuery(v.Query)
if err == nil {
switch vali.(type) {
case *serverPingRequest:
err := c.SendResultPing(v.ID, v.From)
if err != nil {
return Chat{}, err
}
if bytes.Equal(v.Query, []byte(`<ping xmlns='urn:xmpp:ping'/>`)) {
err := c.SendResultPing(v.ID, v.From)
if err != nil {
return Chat{}, err
}
}
return IQ{ID: v.ID, From: v.From, To: v.To, Type: v.Type, Query: v.Query}, nil
@ -785,10 +779,6 @@ type rosterItem struct {
Group []string
}
type serverPingRequest struct {
XMLName xml.Name `xml:"urn:xmpp:ping ping"`
}
// Scan XML token stream to find next StartElement.
func nextStart(p *xml.Decoder) (xml.StartElement, error) {
for {
@ -895,23 +885,3 @@ func (t tee) Read(p []byte) (n int, err error) {
}
return
}
func UnmarshalIqQuery(Query []byte) (xml.Name, interface{}, error) {
dec := xml.NewDecoder(bytes.NewBuffer(Query))
se, err := nextStart(dec)
if err != nil {
return xml.Name{}, nil, err
}
var nv interface{}
switch se.Name.Space + " " + se.Name.Local {
case nsPing + " ping":
nv = &serverPingRequest{}
}
if err = dec.DecodeElement(nv, &se); err != nil {
return xml.Name{}, nil, err
}
return se.Name, nv, err
}