aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/webdav_fs.rs43
1 files changed, 26 insertions, 17 deletions
diff --git a/src/webdav_fs.rs b/src/webdav_fs.rs
index c00d9fc..70e9818 100644
--- a/src/webdav_fs.rs
+++ b/src/webdav_fs.rs
@@ -1,7 +1,15 @@
//! Helper types and functions to allow configuring hidden files visibility
//! for WebDAV handlers
-use dav_server::{davpath::DavPath, fs::*, localfs::LocalFs};
+use dav_server::{
+ davpath::DavPath,
+ fs::{
+ DavDirEntry, DavFile, DavFileSystem, DavMetaData, FsError as DavFsError,
+ FsFuture as DavFsFuture, FsStream as DavFsStream, OpenOptions as DavOpenOptions,
+ ReadDirMeta as DavReadDirMeta,
+ },
+ localfs::LocalFs,
+};
use futures::{StreamExt, TryFutureExt, future::ready};
use std::path::{Component, Path};
@@ -34,50 +42,51 @@ impl DavFileSystem for RestrictedFs {
fn open<'a>(
&'a self,
path: &'a DavPath,
- options: OpenOptions,
- ) -> FsFuture<'a, Box<dyn DavFile>> {
+ options: DavOpenOptions,
+ ) -> DavFsFuture<'a, Box<dyn DavFile>> {
if !path_has_hidden_components(path) || self.show_hidden {
self.local.open(path, options)
} else {
- Box::pin(ready(Err(FsError::NotFound)))
+ Box::pin(ready(Err(DavFsError::NotFound)))
}
}
fn read_dir<'a>(
&'a self,
path: &'a DavPath,
- meta: ReadDirMeta,
- ) -> FsFuture<'a, FsStream<Box<dyn DavDirEntry>>> {
+ meta: DavReadDirMeta,
+ ) -> DavFsFuture<'a, DavFsStream<Box<dyn DavDirEntry>>> {
if self.show_hidden {
self.local.read_dir(path, meta)
} else if !path_has_hidden_components(path) {
Box::pin(self.local.read_dir(path, meta).map_ok(|stream| {
- let dyn_stream: FsStream<Box<dyn DavDirEntry>> = Box::pin(stream.filter(|entry| {
- ready(match entry {
- Ok(e) => !e.name().starts_with(b"."),
- _ => false,
- })
- }));
+ let dyn_stream: DavFsStream<Box<dyn DavDirEntry>> =
+ Box::pin(stream.filter(|entry| {
+ ready(match entry {
+ Ok(e) => !e.name().starts_with(b"."),
+ _ => false,
+ })
+ }));
dyn_stream
}))
} else {
- Box::pin(ready(Err(FsError::NotFound)))
+ Box::pin(ready(Err(DavFsError::NotFound)))
}
}
- fn metadata<'a>(&'a self, path: &'a DavPath) -> FsFuture<'a, Box<dyn DavMetaData>> {
+ fn metadata<'a>(&'a self, path: &'a DavPath) -> DavFsFuture<'a, Box<dyn DavMetaData>> {
if !path_has_hidden_components(path) || self.show_hidden {
self.local.metadata(path)
} else {
- Box::pin(ready(Err(FsError::NotFound)))
+ Box::pin(ready(Err(DavFsError::NotFound)))
}
}
- fn symlink_metadata<'a>(&'a self, path: &'a DavPath) -> FsFuture<'a, Box<dyn DavMetaData>> {
+ fn symlink_metadata<'a>(&'a self, path: &'a DavPath) -> DavFsFuture<'a, Box<dyn DavMetaData>> {
if !path_has_hidden_components(path) || self.show_hidden {
self.local.symlink_metadata(path)
} else {
- Box::pin(ready(Err(FsError::NotFound)))
+ Box::pin(ready(Err(DavFsError::NotFound)))
}
}
}