diff --git a/views/template.go b/views/template.go index 211e9f2..8b49727 100644 --- a/views/template.go +++ b/views/template.go @@ -1,8 +1,10 @@ package views import ( + "bytes" "fmt" "html/template" + "io" "io/fs" "log" "net/http" @@ -29,12 +31,14 @@ func (t Template) Execute(w http.ResponseWriter, r *http.Request, data interface }) w.Header().Set("Content-Type", "text/html; charset=utf8") - err = tpl.Execute(w, data) + var buf bytes.Buffer + err = tpl.Execute(&buf, data) if err != nil { log.Printf("Error executing template: %v", err) http.Error(w, "Internal Server Error", http.StatusInternalServerError) return } + io.Copy(w, &buf) } func (t Template) TestTemplate(data interface{}) error { var testWriter strings.Builder