home/internal/templateutil/safe_html.go

21 lines
384 B
Go

package templateutil
import (
"errors"
"html/template"
"reflect"
)
var ErrSafeHTML error = errors.New("unsupported input type for SafeHTML")
func SafeHTML(v reflect.Value) (template.HTML, error) {
switch v.Kind() {
default:
return "", ErrSafeHTML
case reflect.Slice:
return template.HTML(v.Bytes()), nil
case reflect.String:
return template.HTML(v.String()), nil
}
}