diff options
author | Wim <wim@42.be> | 2018-02-27 22:55:55 +0100 |
---|---|---|
committer | Wim <wim@42.be> | 2018-02-27 23:22:12 +0100 |
commit | 6a727b9723a1e0b708ac2b5f406a599d086bb0ce (patch) | |
tree | 205a52897b2cbcc6d38f646c85bcf9566644e0ce /vendor/github.com/matterbridge/go-xmpp/xmpp_information_query.go | |
parent | 02a5bc096fedea8a20e9693243b5291ed49cdf94 (diff) | |
download | matterbridge-msglm-6a727b9723a1e0b708ac2b5f406a599d086bb0ce.tar.gz matterbridge-msglm-6a727b9723a1e0b708ac2b5f406a599d086bb0ce.tar.bz2 matterbridge-msglm-6a727b9723a1e0b708ac2b5f406a599d086bb0ce.zip |
Use our own version of go-xmpp with debug output to logrus
Diffstat (limited to 'vendor/github.com/matterbridge/go-xmpp/xmpp_information_query.go')
-rw-r--r-- | vendor/github.com/matterbridge/go-xmpp/xmpp_information_query.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/vendor/github.com/matterbridge/go-xmpp/xmpp_information_query.go b/vendor/github.com/matterbridge/go-xmpp/xmpp_information_query.go new file mode 100644 index 00000000..2a699222 --- /dev/null +++ b/vendor/github.com/matterbridge/go-xmpp/xmpp_information_query.go @@ -0,0 +1,31 @@ +package xmpp + +import ( + "fmt" + "strconv" +) + +const IQTypeGet = "get" +const IQTypeSet = "set" +const IQTypeResult = "result" + +func (c *Client) Discovery() (string, error) { + const namespace = "http://jabber.org/protocol/disco#items" + // use getCookie for a pseudo random id. + reqID := strconv.FormatUint(uint64(getCookie()), 10) + return c.RawInformationQuery(c.jid, c.domain, reqID, IQTypeGet, namespace, "") +} + +// RawInformationQuery sends an information query request to the server. +func (c *Client) RawInformationQuery(from, to, id, iqType, requestNamespace, body string) (string, error) { + const xmlIQ = "<iq from='%s' to='%s' id='%s' type='%s'><query xmlns='%s'>%s</query></iq>" + _, err := fmt.Fprintf(c.conn, xmlIQ, xmlEscape(from), xmlEscape(to), id, iqType, requestNamespace, body) + return id, err +} + +// rawInformation send a IQ request with the the payload body to the server +func (c *Client) RawInformation(from, to, id, iqType, body string) (string, error) { + const xmlIQ = "<iq from='%s' to='%s' id='%s' type='%s'>%s</iq>" + _, err := fmt.Fprintf(c.conn, xmlIQ, xmlEscape(from), xmlEscape(to), id, iqType, body) + return id, err +} |