Test: auth middleware for WebDAV

This commit is contained in:
HFO4
2019-12-23 11:22:46 +08:00
parent cf90ab5a9a
commit fd7b6e33c8
4 changed files with 114 additions and 4 deletions

10
pkg/cache/driver.go vendored
View File

@@ -25,14 +25,18 @@ func Init() {
// Driver 键值缓存存储容器
type Driver interface {
// 设置值
// 设置值ttl为过期时间单位为秒
Set(key string, value interface{}, ttl int) error
// 取值
// 取值,并返回是否成功
Get(key string) (interface{}, bool)
// 批量取值返回成功取值的map即不存在的值
Gets(keys []string, prefix string) (map[string]interface{}, []string)
// 批量设置值
// 批量设置值所有的key都会加上prefix前缀
Sets(values map[string]interface{}, prefix string) error
// 删除值
Delete(keys []string, prefix string) error
}

View File

@@ -604,6 +604,7 @@ func (h *Handler) handlePropfind(w http.ResponseWriter, r *http.Request, fs *fil
mw := multistatusWriter{w: w}
walkFn := func(reqPath string, info FileInfo, err error) error {
if err != nil {
return err
}
@@ -626,7 +627,7 @@ func (h *Handler) handlePropfind(w http.ResponseWriter, r *http.Request, fs *fil
if err != nil {
return err
}
href := path.Join(h.Prefix, strconv.FormatUint(uint64(fs.User.ID), 10), reqPath)
href := path.Join(h.Prefix, reqPath)
if href != "/" && info.IsDir() {
href += "/"
}