providers: Add mime provider

This commit is contained in:
2024-12-08 00:08:38 -05:00
parent d76374719d
commit b654829428
4 changed files with 38 additions and 3 deletions

27
providers/mime/mime.go Normal file
View File

@@ -0,0 +1,27 @@
package slice
import "html/template"
import "github.com/gabriel-vasile/mimetype"
import "git.tebibyte.media/sashakoshka/step"
const hiddenPrefix = "."
var _ step.FuncProvider = new(Provider)
// Provider provides MIME functions.
type Provider struct {
}
// FuncMap fulfills the step.FuncProvider interface.
func (this *Provider) FuncMap () template.FuncMap {
return template.FuncMap {
"fileContentType": funcFileContentType,
}
}
func funcFileContentType (name string) (string, error) {
typ, err := mimetype.DetectFile(name)
if err != nil { return "", err }
return typ.String(), err
}