diff --git a/src/server.rs b/src/server.rs index 150d4e6..f8029c5 100644 --- a/src/server.rs +++ b/src/server.rs @@ -816,10 +816,12 @@ struct PathItem { impl PathItem { pub fn to_dav_xml(&self, prefix: &str) -> String { let mtime = Utc.timestamp_millis(self.mtime as i64).to_rfc2822(); + let href = encode_uri(&format!("{}{}", prefix, &self.name)); + let displayname = escape_str_pcdata(&self.base_name); match self.path_type { PathType::Dir | PathType::SymlinkDir => format!( r#" -{}{} +{} {} @@ -829,14 +831,11 @@ impl PathItem { HTTP/1.1 200 OK "#, - prefix, - encode_uri(&self.name), - escape_str_pcdata(&self.base_name), - mtime + href, displayname, mtime ), PathType::File | PathType::SymlinkFile => format!( r#" -{}{} +{} {} @@ -847,9 +846,8 @@ impl PathItem { HTTP/1.1 200 OK "#, - prefix, - encode_uri(&self.name), - escape_str_pcdata(&self.base_name), + href, + displayname, self.size.unwrap_or_default(), mtime ),