forked from jshiffer/go-xmpp
Refactor parsing / improve typing
This commit is contained in:
@@ -11,11 +11,18 @@ func main() {
|
||||
component.Connect("localhost:8888")
|
||||
|
||||
for {
|
||||
_, packet, err := component.ReadPacket()
|
||||
packet, err := component.ReadPacket()
|
||||
if err != nil {
|
||||
fmt.Println("read error", err)
|
||||
return
|
||||
}
|
||||
fmt.Println("Packet received: ", packet)
|
||||
|
||||
switch p := packet.(type) {
|
||||
case xmpp.IQ:
|
||||
fmt.Println("IQ received: ", p)
|
||||
fmt.Println("IQ type:", p.Type)
|
||||
default:
|
||||
fmt.Println("Packet unhandled packet:", packet)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,9 +31,9 @@ func main() {
|
||||
// Iterator to receive packets coming from our XMPP connection
|
||||
for packet := range client.Recv() {
|
||||
switch packet := packet.(type) {
|
||||
case *xmpp.ClientMessage:
|
||||
case *xmpp.Message:
|
||||
fmt.Fprintf(os.Stdout, "Body = %s - from = %s\n", packet.Body, packet.From)
|
||||
reply := xmpp.ClientMessage{PacketAttrs: xmpp.PacketAttrs{To: packet.From}, Body: packet.Body}
|
||||
reply := xmpp.Message{PacketAttrs: xmpp.PacketAttrs{To: packet.From}, Body: packet.Body}
|
||||
client.Send(reply.XMPPFormat())
|
||||
default:
|
||||
fmt.Fprintf(os.Stdout, "Ignoring packet: %T\n", packet)
|
||||
|
||||
@@ -40,11 +40,11 @@ func main() {
|
||||
for packet := range client.Recv() {
|
||||
|
||||
switch packet := packet.(type) {
|
||||
case *xmpp.ClientMessage:
|
||||
case *xmpp.Message:
|
||||
processMessage(client, p, packet)
|
||||
case *xmpp.ClientIQ:
|
||||
case *xmpp.IQ:
|
||||
processIq(client, p, packet)
|
||||
case *xmpp.ClientPresence:
|
||||
case *xmpp.Presence:
|
||||
// Do nothing with received presence
|
||||
default:
|
||||
fmt.Fprintf(os.Stdout, "Ignoring packet: %T\n", packet)
|
||||
@@ -52,7 +52,7 @@ func main() {
|
||||
}
|
||||
}
|
||||
|
||||
func processMessage(client *xmpp.Client, p *mpg123.Player, packet *xmpp.ClientMessage) {
|
||||
func processMessage(client *xmpp.Client, p *mpg123.Player, packet *xmpp.Message) {
|
||||
command := strings.Trim(packet.Body, " ")
|
||||
if command == "stop" {
|
||||
p.Stop()
|
||||
@@ -62,7 +62,7 @@ func processMessage(client *xmpp.Client, p *mpg123.Player, packet *xmpp.ClientMe
|
||||
}
|
||||
}
|
||||
|
||||
func processIq(client *xmpp.Client, p *mpg123.Player, packet *xmpp.ClientIQ) {
|
||||
func processIq(client *xmpp.Client, p *mpg123.Player, packet *xmpp.IQ) {
|
||||
switch payload := packet.Payload.(type) {
|
||||
// We support IOT Control IQ
|
||||
case *iot.ControlSet:
|
||||
@@ -76,7 +76,7 @@ func processIq(client *xmpp.Client, p *mpg123.Player, packet *xmpp.ClientIQ) {
|
||||
|
||||
playSCURL(p, url)
|
||||
setResponse := new(iot.ControlSetResponse)
|
||||
reply := xmpp.ClientIQ{PacketAttrs: xmpp.PacketAttrs{To: packet.From, Type: "result", Id: packet.Id}, Payload: setResponse}
|
||||
reply := xmpp.IQ{PacketAttrs: xmpp.PacketAttrs{To: packet.From, Type: "result", Id: packet.Id}, Payload: setResponse}
|
||||
client.Send(reply.XMPPFormat())
|
||||
// TODO add Soundclound artist / title retrieval
|
||||
sendUserTune(client, "Radiohead", "Spectre")
|
||||
|
||||
Reference in New Issue
Block a user