parent
3c5f23d3ac
commit
c4747039a0
47
main.go
47
main.go
|
|
@ -208,46 +208,53 @@ func setContentTypeIfMedia(w http.ResponseWriter, r *http.Request) {
|
||||||
if i := strings.LastIndex(ext, "."); i != -1 {
|
if i := strings.LastIndex(ext, "."); i != -1 {
|
||||||
ext = ext[i:]
|
ext = ext[i:]
|
||||||
}
|
}
|
||||||
|
k := "Content-Type"
|
||||||
|
v := ""
|
||||||
switch ext {
|
switch ext {
|
||||||
case ".mp4":
|
case ".mp4":
|
||||||
w.Header().Set("Content-Type", "video/mp4")
|
v = "video/mp4"
|
||||||
case ".mkv":
|
case ".mkv":
|
||||||
w.Header().Set("Content-Type", "video/x-matroska")
|
v = "video/x-matroska"
|
||||||
case ".mp3":
|
case ".mp3":
|
||||||
w.Header().Set("Content-Type", "audio/mpeg3")
|
v = "audio/mpeg3"
|
||||||
case ".epub", ".mobi":
|
case ".epub", ".mobi":
|
||||||
w.Header().Set("Content-Disposition", "attachment")
|
k = "Content-Disposition"
|
||||||
|
v = "attachment"
|
||||||
case ".jpg", ".jpeg":
|
case ".jpg", ".jpeg":
|
||||||
w.Header().Set("Content-Type", "image/jpeg")
|
v = "image/jpeg"
|
||||||
case ".gif":
|
case ".gif":
|
||||||
w.Header().Set("Content-Type", "image/gif")
|
v = "image/gif"
|
||||||
case ".png":
|
case ".png":
|
||||||
w.Header().Set("Content-Type", "image/png")
|
v = "image/png"
|
||||||
case ".ico":
|
case ".ico":
|
||||||
w.Header().Set("Content-Type", "image/x-icon")
|
v = "image/x-icon"
|
||||||
case ".svg":
|
case ".svg":
|
||||||
w.Header().Set("Content-Type", "image/svg+xml")
|
v = "image/svg+xml"
|
||||||
case ".css":
|
case ".css":
|
||||||
w.Header().Set("Content-Type", "text/css")
|
v = "text/css"
|
||||||
case ".js":
|
case ".js":
|
||||||
w.Header().Set("Content-Type", "text/javascript")
|
v = "text/javascript"
|
||||||
case ".json":
|
case ".json":
|
||||||
w.Header().Set("Content-Type", "application/json")
|
v = "application/json"
|
||||||
case ".html", ".htm":
|
case ".html", ".htm":
|
||||||
w.Header().Set("Content-Type", "text/html")
|
v = "text/html"
|
||||||
case ".pdf":
|
case ".pdf":
|
||||||
w.Header().Set("Content-Type", "application/pdf")
|
w.Header().Set("Content-Disposition", fmt.Sprintf("inline; filename=%q", path.Base(r.URL.Path)))
|
||||||
|
v = "application/pdf"
|
||||||
case ".webm":
|
case ".webm":
|
||||||
w.Header().Set("Content-Type", "video/webm")
|
v = "video/webm"
|
||||||
case ".weba":
|
case ".weba":
|
||||||
w.Header().Set("Content-Type", "audio/webm")
|
v = "audio/webm"
|
||||||
case ".webp":
|
case ".webp":
|
||||||
w.Header().Set("Content-Type", "image/webp")
|
v = "image/webp"
|
||||||
case ".zip":
|
case ".zip":
|
||||||
w.Header().Set("Content-Type", "application/zip")
|
v = "application/zip"
|
||||||
case ".7z":
|
case ".7z":
|
||||||
w.Header().Set("Content-Type", "application/x-7z-compressed")
|
v = "application/x-7z-compressed"
|
||||||
case ".tar":
|
case ".tar":
|
||||||
w.Header().Set("Content-Type", "application/x-tar")
|
v = "application/x-tar"
|
||||||
|
default:
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
w.Header().Set(k, v)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue