e-li-nps/internal/elinps/render.go

30 lines
739 B
Go

package elinps
import (
"html/template"
"log/slog"
"net/http"
)
type TemplateRenderer struct {
t *template.Template
}
func NewTemplateRenderer(t *template.Template) *TemplateRenderer { return &TemplateRenderer{t: t} }
func (r *TemplateRenderer) Render(w http.ResponseWriter, name string, data any) {
if err := r.t.ExecuteTemplate(w, name, data); err != nil {
// Não expomos detalhes do erro para o usuário (pode conter paths/etc).
// Mas registramos para depuração.
slog.Error("erro ao renderizar template", "template", name, "err", err)
w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte("erro ao renderizar"))
return
}
}
type FormPageData struct {
Produto string
ID string
Reg Registro
}