aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntoni Sawicki <tenox@google.com>2022-09-12 02:34:40 -0700
committerAntoni Sawicki <tenox@google.com>2022-09-12 02:34:40 -0700
commit172eb8ef292087199b8dea9a822258983ebb80b0 (patch)
treef9d42cddcbd5056d9fb516289a797990205bc1c4
parent3a4fb1eeb02ecaff57aab9af44ee43d8246fc968 (diff)
downloadwfm-172eb8ef292087199b8dea9a822258983ebb80b0.tar.gz
handle file disp with just url spec
-rw-r--r--fileio.go15
-rw-r--r--handlers.go2
2 files changed, 16 insertions, 1 deletions
diff --git a/fileio.go b/fileio.go
index 805db0d..3f04d53 100644
--- a/fileio.go
+++ b/fileio.go
@@ -300,3 +300,18 @@ func (r *wfmRequest) deleteFiles(uFilePaths []string) {
}
redirect(r.w, *wfmPfx+"?dir="+url.PathEscape(r.uDir)+"&sort="+r.eSort)
}
+
+func (r *wfmRequest) dispOrDir(hi string) {
+ f, err := os.Stat(r.uDir)
+ if err != nil {
+ htErr(r.w, "error checking file", err)
+ return
+ }
+ if f.IsDir() {
+ r.listFiles(hi)
+ return
+ }
+ r.uFbn = filepath.Base(r.uDir)
+ r.uDir = filepath.Dir(r.uDir)
+ r.dispFile()
+}
diff --git a/handlers.go b/handlers.go
index 7ce4e02..223bafe 100644
--- a/handlers.go
+++ b/handlers.go
@@ -141,7 +141,7 @@ func wfmMain(w http.ResponseWriter, r *http.Request) {
case "about":
wfm.about(r.UserAgent())
default:
- wfm.listFiles(filepath.Base(r.FormValue("hi")))
+ wfm.dispOrDir(filepath.Base(r.FormValue("hi")))
}
}