From 8d307d8134a528d8e4a8f44ad98fccfd288acc42 Mon Sep 17 00:00:00 2001 From: Wim Date: Wed, 9 May 2018 22:38:17 +0200 Subject: Update vendor matterbridge/go-xmpp --- vendor/github.com/matterbridge/go-xmpp/xmpp.go | 30 +++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'vendor/github.com/matterbridge/go-xmpp') diff --git a/vendor/github.com/matterbridge/go-xmpp/xmpp.go b/vendor/github.com/matterbridge/go-xmpp/xmpp.go index d3f31367..253b7613 100644 --- a/vendor/github.com/matterbridge/go-xmpp/xmpp.go +++ b/vendor/github.com/matterbridge/go-xmpp/xmpp.go @@ -573,6 +573,8 @@ type Chat struct { Text string Subject string Thread string + Ooburl string + Oobdesc string Roster Roster Other []string OtherElem []XMLElement @@ -654,16 +656,42 @@ func (c *Client) Recv() (stanza interface{}, err error) { func (c *Client) Send(chat Chat) (n int, err error) { var subtext = `` var thdtext = `` + var oobtext = `` if chat.Subject != `` { subtext = `` + xmlEscape(chat.Subject) + `` } if chat.Thread != `` { thdtext = `` + xmlEscape(chat.Thread) + `` } - return fmt.Fprintf(c.conn, ""+subtext+"%s"+thdtext+"", + if chat.Ooburl != `` { + oobtext = `` + xmlEscape(chat.Ooburl) + `` + if chat.Oobdesc != `` { + oobtext += `` + xmlEscape(chat.Oobdesc) + `` + } + oobtext += `` + } + return fmt.Fprintf(c.conn, "" + subtext + "%s" + oobtext + thdtext + "", xmlEscape(chat.Remote), xmlEscape(chat.Type), xmlEscape(chat.Text)) } +// SendOOB sends OOB data wrapped inside an XMPP message stanza, without actual body. +func (c *Client) SendOOB(chat Chat) (n int, err error) { + var thdtext = `` + var oobtext = `` + if chat.Thread != `` { + thdtext = `` + xmlEscape(chat.Thread) + `` + } + if chat.Ooburl != `` { + oobtext = `` + xmlEscape(chat.Ooburl) + `` + if chat.Oobdesc != `` { + oobtext += `` + xmlEscape(chat.Oobdesc) + `` + } + oobtext += `` + } + return fmt.Fprintf(c.conn, "" + oobtext + thdtext + "", + xmlEscape(chat.Remote), xmlEscape(chat.Type)) +} + // SendOrg sends the original text without being wrapped in an XMPP message stanza. func (c *Client) SendOrg(org string) (n int, err error) { return fmt.Fprint(c.conn, org) -- cgit v1.2.3