summaryrefslogtreecommitdiff
path: root/xmpp/stream.go
diff options
context:
space:
mode:
Diffstat (limited to 'xmpp/stream.go')
-rw-r--r--xmpp/stream.go33
1 files changed, 33 insertions, 0 deletions
diff --git a/xmpp/stream.go b/xmpp/stream.go
new file mode 100644
index 0000000..803071a
--- /dev/null
+++ b/xmpp/stream.go
@@ -0,0 +1,33 @@
+package xmpp
+
+import (
+ "encoding/xml"
+ "log"
+)
+
+func sendStreamStart(enc *encoder, jid string) xml.EndElement {
+ start := xml.StartElement{
+ xml.Name{"jabber:client", "stream:stream"},
+ []xml.Attr{
+ xml.Attr{xml.Name{"", "from"}, jid},
+ xml.Attr{xml.Name{"", "to"}, domainpart(jid)},
+ xml.Attr{xml.Name{"", "version"}, "1.0"},
+ xml.Attr{xml.Name{"", "xml:lang"}, "en"},
+ xml.Attr{xml.Name{"", "xmlns:stream"}, "http://etherx.jabber.org/streams"},
+ },
+ }
+
+ err := enc.encodeNow(start)
+ if err != nil {
+ log.Println("Could not encode stream start!")
+ }
+
+ return start.End()
+}
+
+func sendStreamEnd(enc *encoder, end xml.EndElement) {
+ err := enc.encodeNow(end)
+ if err != nil {
+ log.Println("Could not encode stream end!")
+ }
+}