refatoração de segurança e logs
This commit is contained in:
parent
6873b87a85
commit
663a8d5bf2
12 changed files with 362 additions and 37 deletions
|
|
@ -2,6 +2,7 @@ package elinps
|
|||
|
||||
import (
|
||||
"html/template"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
|
|
@ -12,7 +13,14 @@ type TemplateRenderer struct {
|
|||
func NewTemplateRenderer(t *template.Template) *TemplateRenderer { return &TemplateRenderer{t: t} }
|
||||
|
||||
func (r *TemplateRenderer) Render(w http.ResponseWriter, name string, data any) {
|
||||
_ = r.t.ExecuteTemplate(w, name, data)
|
||||
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 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue