aboutsummaryrefslogtreecommitdiff
path: root/weed/server/webdav_server.go
diff options
context:
space:
mode:
authorNico D'Cotta <45274424+Cottand@users.noreply.github.com>2023-11-01 19:12:49 -0100
committerGitHub <noreply@github.com>2023-11-01 13:12:49 -0700
commit3834ad5c486906f183a5ab8f71083682f2e14677 (patch)
treedaef9199cb66abe36288dd4ea7eb9829da481cf8 /weed/server/webdav_server.go
parent4ed06e9ba535b8197feca1825f2a703e18fbc466 (diff)
downloadseaweedfs-3834ad5c486906f183a5ab8f71083682f2e14677.tar.xz
seaweedfs-3834ad5c486906f183a5ab8f71083682f2e14677.zip
refactor webdav subdirectory, fixes #4967 (#4969)
* refactor webdav subdirectory, fixes #4967 * fix bug where Name() was not called on delegate wrappedFileInfo
Diffstat (limited to 'weed/server/webdav_server.go')
-rw-r--r--weed/server/webdav_server.go8
1 files changed, 4 insertions, 4 deletions
diff --git a/weed/server/webdav_server.go b/weed/server/webdav_server.go
index 189378dcd..945c68279 100644
--- a/weed/server/webdav_server.go
+++ b/weed/server/webdav_server.go
@@ -63,6 +63,10 @@ func NewWebDavServer(option *WebDavOption) (ws *WebDavServer, err error) {
if option.FilerRootPath == "/" {
option.FilerRootPath = ""
}
+ // filer.path non "/" option means we are accessing filer's sub-folders
+ if option.FilerRootPath != "" {
+ fs = NewWrappedFs(fs, path.Clean(option.FilerRootPath))
+ }
ws = &WebDavServer{
option: option,
@@ -204,8 +208,6 @@ func (fs *WebDavFileSystem) Mkdir(ctx context.Context, fullDirPath string, perm
}
func (fs *WebDavFileSystem) OpenFile(ctx context.Context, fullFilePath string, flag int, perm os.FileMode) (webdav.File, error) {
- // Add filer.path
- fullFilePath = fs.option.FilerRootPath + fullFilePath
glog.V(2).Infof("WebDavFileSystem.OpenFile %v %x", fullFilePath, flag)
var err error
@@ -377,8 +379,6 @@ func (fs *WebDavFileSystem) stat(ctx context.Context, fullFilePath string) (os.F
}
func (fs *WebDavFileSystem) Stat(ctx context.Context, name string) (os.FileInfo, error) {
- // Add filer.path
- name = fs.option.FilerRootPath + name
glog.V(2).Infof("WebDavFileSystem.Stat %v", name)
return fs.stat(ctx, name)