diff --git a/crates/caldav/src/error.rs b/crates/caldav/src/error.rs index 8dd3d90..750f91a 100644 --- a/crates/caldav/src/error.rs +++ b/crates/caldav/src/error.rs @@ -17,7 +17,7 @@ pub enum Precondition { impl IntoResponse for Precondition { fn into_response(self) -> axum::response::Response { let mut output: Vec<_> = b"\n".into(); - let mut writer = quick_xml::Writer::new_with_indent(output.as_mut_slice(), b' ', 4); + let mut writer = quick_xml::Writer::new_with_indent(&mut output, b' ', 4); let error = rustical_dav::xml::ErrorElement(&self); if let Err(err) = error.serialize_root(&mut writer) { diff --git a/crates/dav/src/privileges.rs b/crates/dav/src/privileges.rs index 9253cd8..7f2536d 100644 --- a/crates/dav/src/privileges.rs +++ b/crates/dav/src/privileges.rs @@ -21,7 +21,7 @@ impl XmlSerialize for UserPrivilegeSet { ns: Option, tag: Option<&[u8]>, namespaces: &HashMap, - writer: &mut quick_xml::Writer<&mut [u8]>, + writer: &mut quick_xml::Writer<&mut Vec>, ) -> std::io::Result<()> { #[derive(XmlSerialize)] pub struct FakeUserPrivilegeSet { diff --git a/crates/dav/src/xml/multistatus.rs b/crates/dav/src/xml/multistatus.rs index 9c7cb75..0f224af 100644 --- a/crates/dav/src/xml/multistatus.rs +++ b/crates/dav/src/xml/multistatus.rs @@ -24,7 +24,7 @@ fn xml_serialize_status( ns: Option, tag: Option<&[u8]>, namespaces: &HashMap, - writer: &mut quick_xml::Writer<&mut [u8]>, + writer: &mut quick_xml::Writer<&mut Vec>, ) -> std::io::Result<()> { XmlSerialize::serialize(&format!("HTTP/1.1 {}", status), ns, tag, namespaces, writer) } @@ -54,7 +54,7 @@ fn xml_serialize_optional_status( ns: Option, tag: Option<&[u8]>, namespaces: &HashMap, - writer: &mut quick_xml::Writer<&mut [u8]>, + writer: &mut quick_xml::Writer<&mut Vec>, ) -> std::io::Result<()> { XmlSerialize::serialize( &val.map(|status| format!("HTTP/1.1 {}", status)), diff --git a/crates/dav/src/xml/tag_list.rs b/crates/dav/src/xml/tag_list.rs index 3010bb4..0c5ca23 100644 --- a/crates/dav/src/xml/tag_list.rs +++ b/crates/dav/src/xml/tag_list.rs @@ -15,7 +15,7 @@ impl XmlSerialize for TagList { ns: Option, tag: Option<&[u8]>, namespaces: &HashMap, - writer: &mut quick_xml::Writer<&mut [u8]>, + writer: &mut quick_xml::Writer<&mut Vec>, ) -> std::io::Result<()> { let prefix = ns .map(|ns| namespaces.get(&ns)) diff --git a/crates/xml/derive/src/xml_enum/impl_se.rs b/crates/xml/derive/src/xml_enum/impl_se.rs index c198fba..aa3d186 100644 --- a/crates/xml/derive/src/xml_enum/impl_se.rs +++ b/crates/xml/derive/src/xml_enum/impl_se.rs @@ -18,7 +18,7 @@ impl Enum { ns: Option<::quick_xml::name::Namespace>, tag: Option<&[u8]>, namespaces: &::std::collections::HashMap<::quick_xml::name::Namespace, &[u8]>, - writer: &mut ::quick_xml::Writer<&mut [u8]> + writer: &mut ::quick_xml::Writer<&mut Vec> ) -> ::std::io::Result<()> { use ::quick_xml::events::{BytesEnd, BytesStart, BytesText, Event}; diff --git a/crates/xml/derive/src/xml_struct/impl_se.rs b/crates/xml/derive/src/xml_struct/impl_se.rs index 2b833eb..0df2bf6 100644 --- a/crates/xml/derive/src/xml_struct/impl_se.rs +++ b/crates/xml/derive/src/xml_struct/impl_se.rs @@ -93,7 +93,7 @@ impl NamedStruct { ns: Option<::quick_xml::name::Namespace>, tag: Option<&[u8]>, namespaces: &::std::collections::HashMap<::quick_xml::name::Namespace, &[u8]>, - writer: &mut ::quick_xml::Writer<&mut [u8]> + writer: &mut ::quick_xml::Writer<&mut Vec> ) -> ::std::io::Result<()> { use ::quick_xml::events::{BytesEnd, BytesStart, BytesText, Event}; diff --git a/crates/xml/src/se.rs b/crates/xml/src/se.rs index f8142c8..da3faab 100644 --- a/crates/xml/src/se.rs +++ b/crates/xml/src/se.rs @@ -12,7 +12,7 @@ pub trait XmlSerialize { ns: Option, tag: Option<&[u8]>, namespaces: &HashMap, - writer: &mut quick_xml::Writer<&mut [u8]>, + writer: &mut quick_xml::Writer<&mut Vec>, ) -> std::io::Result<()>; fn attributes<'a>(&self) -> Option>>; @@ -24,7 +24,7 @@ impl XmlSerialize for Option { ns: Option, tag: Option<&[u8]>, namespaces: &HashMap, - writer: &mut quick_xml::Writer<&mut [u8]>, + writer: &mut quick_xml::Writer<&mut Vec>, ) -> std::io::Result<()> { if let Some(some) = self { some.serialize(ns, tag, namespaces, writer) @@ -39,18 +39,18 @@ impl XmlSerialize for Option { } pub trait XmlSerializeRoot { - fn serialize_root(&self, writer: &mut quick_xml::Writer<&mut [u8]>) -> std::io::Result<()>; + fn serialize_root(&self, writer: &mut quick_xml::Writer<&mut Vec>) -> std::io::Result<()>; fn serialize_to_string(&self) -> std::io::Result { let mut buf: Vec<_> = b"\n".into(); - let mut writer = quick_xml::Writer::new(buf.as_mut_slice()); + let mut writer = quick_xml::Writer::new(&mut buf); self.serialize_root(&mut writer)?; Ok(String::from_utf8_lossy(&buf).to_string()) } } impl XmlSerializeRoot for T { - fn serialize_root(&self, writer: &mut quick_xml::Writer<&mut [u8]>) -> std::io::Result<()> { + fn serialize_root(&self, writer: &mut quick_xml::Writer<&mut Vec>) -> std::io::Result<()> { let namespaces = Self::root_ns_prefixes(); self.serialize(Self::root_ns(), Some(Self::root_tag()), &namespaces, writer) } @@ -62,7 +62,7 @@ impl XmlSerialize for () { ns: Option, tag: Option<&[u8]>, namespaces: &HashMap, - writer: &mut quick_xml::Writer<&mut [u8]>, + writer: &mut quick_xml::Writer<&mut Vec>, ) -> std::io::Result<()> { let prefix = ns .map(|ns| namespaces.get(&ns)) diff --git a/crates/xml/src/value.rs b/crates/xml/src/value.rs index 5e18266..5914eff 100644 --- a/crates/xml/src/value.rs +++ b/crates/xml/src/value.rs @@ -109,7 +109,7 @@ impl XmlSerialize for T { ns: Option, tag: Option<&[u8]>, namespaces: &HashMap, - writer: &mut quick_xml::Writer<&mut [u8]>, + writer: &mut quick_xml::Writer<&mut Vec>, ) -> std::io::Result<()> { let prefix = ns .map(|ns| namespaces.get(&ns)) diff --git a/crates/xml/tests/se_struct.rs b/crates/xml/tests/se_struct.rs index c0d696d..a8c600c 100644 --- a/crates/xml/tests/se_struct.rs +++ b/crates/xml/tests/se_struct.rs @@ -129,7 +129,7 @@ fn test_struct_serialize_with() { ns: Option, tag: Option<&[u8]>, namespaces: &HashMap, - writer: &mut Writer<&mut [u8]>, + writer: &mut Writer<&mut Vec>, ) -> std::io::Result<()> { val.to_uppercase().serialize(ns, tag, namespaces, writer) }