aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntoni Sawicki <tenox@google.com>2022-11-28 01:31:26 -0800
committerAntoni Sawicki <tenox@google.com>2022-11-28 01:31:26 -0800
commitb02054f7abd466bcfe5fe7dec4e57dc1b24bda7c (patch)
tree40d49f91b7b0299b6de52453a7e0db9459b65717
parent782d01a672900f5c05bb38dfb2ce812d277c3d46 (diff)
downloadwfm-b02054f7abd466bcfe5fe7dec4e57dc1b24bda7c.tar.gz
refactor file extension detection
-rw-r--r--fileio.go18
-rw-r--r--formats.go1
2 files changed, 10 insertions, 9 deletions
diff --git a/fileio.go b/fileio.go
index ed86363..da5f375 100644
--- a/fileio.go
+++ b/fileio.go
@@ -22,13 +22,12 @@ var (
func (r *wfmRequest) dispFile() {
fp := r.uDir + "/" + r.uFbn
- s := strings.Split(fp, ".")
- log.Printf("Dsiposition file=%v ext=%v", fp, s[len(s)-1])
- ext := strings.ToLower(s[len(s)-1])
+ ext := strings.ToLower(filepath.Ext(fp))
+ log.Printf("Dsiposition file=%v ext=%v", fp, ext)
// inexpensive file handlers
switch ext {
- case "url", "desktop", "webloc":
+ case ".url", ".desktop", ".webloc":
gourl(r.w, fp, r.fs)
return
}
@@ -40,13 +39,14 @@ func (r *wfmRequest) dispFile() {
// expensive file handlers
switch ext {
- case "zip":
+ case ".zip":
listZip(r.w, fp, r.fs)
- case "7z":
+ case ".7z":
list7z(r.w, fp, r.fs)
- case "tar", "rar", "gz", "bz2", "xz", "tgz", "tbz2", "txz":
- listArchive(r.w, fp)
- case "iso":
+ // currently doesnt work with afero fs
+ // case "tar", "rar", "gz", "bz2", "xz", "tgz", "tbz2", "txz":
+ //listArchive(r.w, fp)
+ case ".iso":
listIso(r.w, fp, r.fs)
default:
diff --git a/formats.go b/formats.go
index 873a15f..647839b 100644
--- a/formats.go
+++ b/formats.go
@@ -154,6 +154,7 @@ func list7z(w http.ResponseWriter, fp string, wfs afero.Fs) {
// TODO(tenox): aferoize
func listArchive(w http.ResponseWriter, fp string) {
+ return // doesnt work with afero
a, err := archiver.FileSystem(fp)
if err != nil {
htErr(w, "archiver", err)