Move code to router

This commit is contained in:
vduduh 2020-02-28 18:32:17 +03:00
parent 7745e1f718
commit ee38abcca9
2 changed files with 9 additions and 13 deletions

View File

@ -309,19 +309,6 @@ func (c *Client) recv(state SMState, keepaliveQuit chan<- struct{}) {
// Handle stream errors // Handle stream errors
switch packet := val.(type) { switch packet := val.(type) {
case *stanza.IQ:
if val.(*stanza.IQ).Any != nil && val.(*stanza.IQ).Any.XMLName.Local == "ping" {
err = c.Send(&stanza.IQ{Attrs: stanza.Attrs{
Id: val.(*stanza.IQ).Id,
Type: stanza.IQTypeResult,
From: val.(*stanza.IQ).To,
To: val.(*stanza.IQ).From,
}})
if err != nil {
c.ErrorHandler(err)
}
continue
}
case stanza.StreamError: case stanza.StreamError:
c.router.route(c, val) c.router.route(c, val)
close(keepaliveQuit) close(keepaliveQuit)

View File

@ -55,6 +55,15 @@ func (r *Router) route(s Sender, p stanza.Packet) {
close(route.result) close(route.result)
return return
} }
if iq.Any != nil && iq.Any.XMLName.Local == "ping" {
_ = s.Send(&stanza.IQ{Attrs: stanza.Attrs{
Id: iq.Id,
Type: stanza.IQTypeResult,
From: iq.To,
To: iq.From,
}})
return
}
} }
var match RouteMatch var match RouteMatch