tokio-xmpp: update for minidom changes

Maxime “pep” Buquet created

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>

Change summary

tokio-xmpp/src/starttls.rs     |  2 +-
tokio-xmpp/src/stream_start.rs |  2 +-
tokio-xmpp/src/xmpp_codec.rs   | 21 ++++++++++++---------
3 files changed, 14 insertions(+), 11 deletions(-)

Detailed changes

tokio-xmpp/src/starttls.rs 🔗

@@ -16,7 +16,7 @@ pub const NS_XMPP_TLS: &str = "urn:ietf:params:xml:ns:xmpp-tls";
 pub async fn starttls<S: AsyncRead + AsyncWrite + Unpin>(
     mut xmpp_stream: XMPPStream<S>,
 ) -> Result<TlsStream<S>, Error> {
-    let nonza = Element::builder("starttls").ns(NS_XMPP_TLS).build();
+    let nonza = Element::builder("starttls", NS_XMPP_TLS).build();
     let packet = Packet::Stanza(nonza);
     xmpp_stream.send(packet).await?;
 

tokio-xmpp/src/stream_start.rs 🔗

@@ -70,7 +70,7 @@ pub async fn start<S: AsyncRead + AsyncWrite + Unpin>(
             stream,
             ns,
             stream_id.clone(),
-            Element::builder(stream_id).build(),
+            Element::builder(stream_id, NS_XMPP_STREAM).build(),
         )
     };
     Ok(stream)

tokio-xmpp/src/xmpp_codec.rs 🔗

@@ -95,12 +95,10 @@ impl ParserSink {
         self.ns_stack.push(nss);
 
         let el = {
-            let mut el_builder = Element::builder(tag.name.local.as_ref());
-            if let Some(el_ns) =
-                self.lookup_ns(&tag.name.prefix.map(|prefix| prefix.as_ref().to_owned()))
-            {
-                el_builder = el_builder.ns(el_ns);
-            }
+            let el_ns = self
+                .lookup_ns(&tag.name.prefix.map(|prefix| prefix.as_ref().to_owned()))
+                .unwrap();
+            let mut el_builder = Element::builder(tag.name.local.as_ref(), el_ns);
             for attr in &tag.attrs {
                 match attr.name.local.as_ref() {
                     "xmlns" => (),
@@ -490,13 +488,18 @@ mod tests {
         for _ in 0..2usize.pow(15) {
             text = text + "A";
         }
-        let stanza = Element::builder("message")
-            .append(Element::builder("body").append(text.as_ref()).build())
+        let stanza = Element::builder("message", "jabber:client")
+            .append(
+                Element::builder("body", "jabber:client")
+                    .append(text.as_ref())
+                    .build(),
+            )
             .build();
         block_on(framed.send(Packet::Stanza(stanza))).expect("send");
         assert_eq!(
             framed.get_ref().get_ref(),
-            &("<message><body>".to_owned() + &text + "</body></message>").as_bytes()
+            &("<message xmlns=\"jabber:client\"><body>".to_owned() + &text + "</body></message>")
+                .as_bytes()
         );
     }