let uri_prefix = if path_prefix.is_empty() {
"/".to_owned()
} else {
- format!("/{}/", encode_uri(&path_prefix))
+ format!("/{}/", &path_prefix)
};
let cors = matches.is_present("cors");
let auth = match matches.value_of("auth") {
}
Ok(PrivateKey(keys[0].to_owned()))
}
-
-pub fn encode_uri(v: &str) -> String {
- let parts: Vec<_> = v.split('/').map(urlencoding::encode).collect();
- parts.join("/")
-}
use crate::auth::{generate_www_auth, valid_digest};
-use crate::{encode_uri, Args, BoxResult};
+use crate::{Args, BoxResult};
use xml::escape::escape_str_pcdata;
use async_walkdir::WalkDir;
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>"#,
- prefix,
+ escape_str_pcdata(prefix),
escape_str_pcdata(&self.name),
escape_str_pcdata(&self.base_name),
mtime
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>"#,
- prefix,
+ escape_str_pcdata(prefix),
escape_str_pcdata(&self.name),
escape_str_pcdata(&self.base_name),
self.size.unwrap_or_default(),
}
fn print_listening(address: &str, port: u16, prefix: &str, tls: bool) {
- let prefix = prefix.trim_end_matches('/');
+ let prefix = encode_uri(prefix.trim_end_matches('/'));
let addrs = retrieve_listening_addrs(address);
let protocol = if tls { "https" } else { "http" };
if addrs.len() == 1 {
}
vec![address.to_owned()]
}
+
+fn encode_uri(v: &str) -> String {
+ let parts: Vec<_> = v.split('/').map(urlencoding::encode).collect();
+ parts.join("/")
+}