From 860d083c1181f339a819ee3a18de76a2c446bbc2 Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Sun, 8 Dec 2024 03:28:57 -0500 Subject: [PATCH] providers/mime: use Document.Rel --- providers/mime/mime.go | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/providers/mime/mime.go b/providers/mime/mime.go index 4809ccc..ffdf80c 100644 --- a/providers/mime/mime.go +++ b/providers/mime/mime.go @@ -15,12 +15,26 @@ type Provider struct { // FuncMap fulfills the step.FuncProvider interface. func (this *Provider) FuncMap () template.FuncMap { + return nil +} + +// FuncMapFor fulfills the step.FuncProviderFor interface. +func (this *Provider) FuncMapFor (document *step.Document) template.FuncMap { + stat := &state { + document: document, + } return template.FuncMap { - "fileContentType": funcFileContentType, + "fileContentType": stat.funcFileContentType, } } -func funcFileContentType (name string) (string, error) { +type state struct { + document *step.Document +} + +func (this *state) funcFileContentType (name string) (string, error) { + name, err := this.document.Rel(name) + if err != nil { return "", err } typ, err := mimetype.DetectFile(name) if err != nil { return "", err } return typ.String(), err