1use crate::Filesystem;
2use libunftp::auth::DefaultUser;
3use libunftp::{Server, ServerBuilder};
4use std::path::PathBuf;
5
6pub trait ServerExt {
8 fn with_fs<P: Into<PathBuf> + Send + 'static>(path: P) -> ServerBuilder<Filesystem, DefaultUser> {
19 let p = path.into();
20 libunftp::ServerBuilder::new(Box::new(move || {
21 let p = &p.clone();
22 match Filesystem::new(p) {
23 Ok(fs) => fs,
24 Err(e) => panic!("Cannot open file system root {}: {}", p.display(), e),
25 }
26 }))
27 }
28}
29
30impl ServerExt for Server<Filesystem, DefaultUser> {}