diff options
author | Antoni Sawicki <tenox@google.com> | 2022-11-28 01:31:26 -0800 |
---|---|---|
committer | Antoni Sawicki <tenox@google.com> | 2022-11-28 01:31:26 -0800 |
commit | b02054f7abd466bcfe5fe7dec4e57dc1b24bda7c (patch) | |
tree | 40d49f91b7b0299b6de52453a7e0db9459b65717 | |
parent | 782d01a672900f5c05bb38dfb2ce812d277c3d46 (diff) | |
download | wfm-b02054f7abd466bcfe5fe7dec4e57dc1b24bda7c.tar.gz |
refactor file extension detection
-rw-r--r-- | fileio.go | 18 | ||||
-rw-r--r-- | formats.go | 1 |
2 files changed, 10 insertions, 9 deletions
@@ -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: @@ -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) |