Detect mimetypes

This commit is contained in:
adnano 2020-10-11 20:13:53 -04:00
parent 92af3df4c5
commit 96390291bc

14
fs.go
View File

@ -3,10 +3,18 @@ package gmi
import ( import (
"errors" "errors"
"io" "io"
"mime"
"os" "os"
"path" "path"
"path/filepath"
) )
func init() {
// Add Gemini mime types
mime.AddExtensionType(".gmi", "text/gemini")
mime.AddExtensionType(".gemini", "text/gemini")
}
// FileServer errors. // FileServer errors.
var ( var (
ErrNotAFile = errors.New("gemini: not a file") ErrNotAFile = errors.New("gemini: not a file")
@ -29,8 +37,10 @@ func (fsh fsHandler) Serve(rw *ResponseWriter, req *Request) {
NotFound(rw, req) NotFound(rw, req)
return return
} }
// TODO: detect mimetype // Detect mimetype
rw.SetMimetype("text/gemini") ext := filepath.Ext(path)
mimetype := mime.TypeByExtension(ext)
rw.SetMimetype(mimetype)
// Copy file to response writer // Copy file to response writer
io.Copy(rw, f) io.Copy(rw, f)
} }