def streamStarted(self, rootElement): """ Called by the XmlStream when the stream has started. This extends L{Authenticator.streamStarted} to extract further stream headers from L{rootElement}, optionally wait for stream features being received and then call C{initializeStream}. """ Authenticator.streamStarted(self, rootElement) self.xmlstream.sid = rootElement.getAttribute("id") if rootElement.hasAttribute("from"): self.xmlstream.otherEntity = jid.internJID(rootElement["from"]) # Setup observer for stream features, if applicable if self.xmlstream.version >= (1, 0): def onFeatures(element): features = {} for feature in element.elements(): features[(feature.uri, feature.name)] = feature self.xmlstream.features = features self.initializeStream() self.xmlstream.addOnetimeObserver('/features[@xmlns="%s"]' % NS_STREAMS, onFeatures) else: self.initializeStream()
def streamStarted(self, rootElement): """ Called by the XmlStream when the stream has started. This extends L{Authenticator.streamStarted} to extract further stream headers from L{rootElement}, optionally wait for stream features being received and then call C{initializeStream}. """ Authenticator.streamStarted(self, rootElement) self.xmlstream.sid = rootElement.getAttribute("id") if rootElement.hasAttribute("from"): self.xmlstream.otherEntity = jid.internJID(rootElement["from"]) # Setup observer for stream features, if applicable if self.xmlstream.version >= (1, 0): def onFeatures(element): features = {} for feature in element.elements(): features[(feature.uri, feature.name)] = feature self.xmlstream.features = features self.initializeStream() self.xmlstream.addOnetimeObserver( '/features[@xmlns="%s"]' % NS_STREAMS, onFeatures) else: self.initializeStream()
def streamStarted(self, rootElement): """ Called by the XmlStream when the stream has started. This extends L{Authenticator.streamStarted} to extract further information from the stream headers from L{rootElement}. """ Authenticator.streamStarted(self, rootElement) self.xmlstream.namespace = rootElement.defaultUri if rootElement.hasAttribute("to"): self.xmlstream.thisEntity = jid.internJID(rootElement["to"]) self.xmlstream.prefixes = {} for prefix, uri in rootElement.localPrefixes.iteritems(): self.xmlstream.prefixes[uri] = prefix self.xmlstream.sid = unicode(randbytes.secureRandom(8).encode('hex'))
def connectionMade(self): self.xmlstream.namespace = self.namespace self.xmlstream.otherEntity = jid.internJID(self.otherHost) self.xmlstream.sendHeader()