summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/shurcooL/httpfs/vfsutil/file.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/shurcooL/httpfs/vfsutil/file.go')
-rw-r--r--vendor/github.com/shurcooL/httpfs/vfsutil/file.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/vendor/github.com/shurcooL/httpfs/vfsutil/file.go b/vendor/github.com/shurcooL/httpfs/vfsutil/file.go
new file mode 100644
index 0000000000..4cb0dadadb
--- /dev/null
+++ b/vendor/github.com/shurcooL/httpfs/vfsutil/file.go
@@ -0,0 +1,21 @@
+package vfsutil
+
+import (
+ "net/http"
+ "os"
+)
+
+// File implements http.FileSystem using the native file system restricted to a
+// specific file served at root.
+//
+// While the FileSystem.Open method takes '/'-separated paths, a File's string
+// value is a filename on the native file system, not a URL, so it is separated
+// by filepath.Separator, which isn't necessarily '/'.
+type File string
+
+func (f File) Open(name string) (http.File, error) {
+ if name != "/" {
+ return nil, &os.PathError{Op: "open", Path: name, Err: os.ErrNotExist}
+ }
+ return os.Open(string(f))
+}