diff options
Diffstat (limited to 'xmpp/jid.go')
-rw-r--r-- | xmpp/jid.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/xmpp/jid.go b/xmpp/jid.go index 90c1509..d7107d4 100644 --- a/xmpp/jid.go +++ b/xmpp/jid.go @@ -1,5 +1,9 @@ package xmpp +import ( + "encoding/xml" +) + // domainpart extracts the domain name from a JID / XMPP address. See // https://datatracker.ietf.org/doc/html/rfc7622#section-3.2 for details. func domainpart(jid string) string { @@ -33,3 +37,18 @@ func username(jid string) string { return "" } + +func hasBind(e []xml.Token) bool { + bind := xml.Name{`urn:ietf:params:xml:ns:xmpp-bind`, `bind`} + + for _, v := range e { + switch s := v.(type) { + case xml.StartElement: + if s.Name == bind { + return true + } + } + } + + return false +} |