tokio-xmpp: update for minidom changes

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
This commit is contained in:
Maxime “pep” Buquet 2020-04-04 23:40:30 +02:00
parent eca44f5602
commit 33ee71bcb4
3 changed files with 14 additions and 11 deletions

View file

@ -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?;

View file

@ -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)

View file

@ -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()
);
}