summaryrefslogtreecommitdiff
path: root/contrib/fs/file.go
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/fs/file.go')
-rw-r--r--contrib/fs/file.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/contrib/fs/file.go b/contrib/fs/file.go
index 591c1bd..d231466 100644
--- a/contrib/fs/file.go
+++ b/contrib/fs/file.go
@@ -15,6 +15,11 @@ import (
// returned.
func ResolveFile(request *sr.Request, fileSystem fs.FS) (string, fs.File, error) {
filepath := strings.TrimPrefix(request.Path, "/")
+
+ if isPrivate(filepath) {
+ return "", nil, nil
+ }
+
file, err := fileSystem.Open(filepath)
if isNotFound(err) {
return "", nil, nil
@@ -57,3 +62,12 @@ func mediaType(filePath string) string {
}
return mtype
}
+
+func isPrivate(fullpath string) bool {
+ for _, segment := range strings.Split(fullpath, "/") {
+ if len(segment) > 1 && segment[0] == '.' {
+ return true
+ }
+ }
+ return false
+}