aboutsummaryrefslogtreecommitdiff
path: root/core/http.go
blob: 778c5c9cf3d46b29ff56b5321d6e9e16133d085e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

package core

import (
	"bytes"
	"context"
	"html/template"
	"net/http"

	"github.com/a-h/templ"
)

func ExecuteTemplate(w http.ResponseWriter, tpl template.Template, name string, data interface{}) {
	var buf bytes.Buffer
	err := tpl.ExecuteTemplate(&buf, name, data)
	Expect(err, "error executing template")
	w.Header().Set("Content-Type", "text/html; charset=UTF-8")
	_, err = buf.WriteTo(w)
	Expect(err, "error writing template to response writer")
}

func RenderPage(ctx context.Context, page templ.Component, w http.ResponseWriter) {
	var buf bytes.Buffer
	err := page.Render(ctx, &buf)
	Expect(err, "error rendering page")
	w.Header().Set("Content-Type", "text/html; charset=UTF-8")
	_, err = buf.WriteTo(w)
	Expect(err, "error writing page to response writer")
}