3 Commits
v0.4 ... v0.7

Author SHA1 Message Date
bel
6ae09962ad More content types 2020-04-13 13:00:30 +00:00
bel
17e3e21e56 Set content type to play video and hopefully audio in browser 2020-04-11 01:41:29 +00:00
Bel LaPointe
334b64ca6d remove tree 2020-03-23 15:56:48 -06:00
3 changed files with 27 additions and 1 deletions

28
main.go
View File

@@ -99,6 +99,7 @@ func endpoints(foo http.HandlerFunc) http.HandlerFunc {
fmt.Fprintln(w, err.Error()) fmt.Fprintln(w, err.Error())
} }
} else { } else {
setContentTypeIfMedia(w, r)
foo(w, r) foo(w, r)
} }
} }
@@ -189,7 +190,7 @@ func del(w http.ResponseWriter, r *http.Request) error {
if err != nil { if err != nil {
return err return err
} }
err = os.Remove(p) err = os.RemoveAll(p)
if err != nil { if err != nil {
return err return err
} }
@@ -201,3 +202,28 @@ func toRealPath(p string) string {
d := path.Join(fs.Get("d").GetString()) d := path.Join(fs.Get("d").GetString())
return path.Join(d, p) return path.Join(d, p)
} }
func setContentTypeIfMedia(w http.ResponseWriter, r *http.Request) {
switch strings.ToLower(path.Ext(r.URL.Path)) {
case ".mp4":
w.Header().Set("Content-Type", "video/mp4")
case ".webm":
w.Header().Set("Content-Type", "video/webm")
case ".mkv":
w.Header().Set("Content-Type", "video/x-matroska")
case ".mp3":
w.Header().Set("Content-Type", "audio/mpeg3")
case ".epub", ".mobi":
w.Header().Set("Content-Disposition", "attachment")
case ".jpg", ".jpeg":
w.Header().Set("Content-Type", "image/jpeg")
case ".gif":
w.Header().Set("Content-Type", "image/gif")
case ".png":
w.Header().Set("Content-Type", "image/png")
case ".ico":
w.Header().Set("Content-Type", "image/x-icon")
case ".svg":
w.Header().Set("Content-Type", "image/svg+xml")
}
}

0
public/DIR2/e.md Normal file → Executable file
View File

0
public/b.md Normal file → Executable file
View File