summaryrefslogtreecommitdiff
path: root/pkg/webui/render.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/webui/render.go')
-rw-r--r--pkg/webui/render.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/pkg/webui/render.go b/pkg/webui/render.go
new file mode 100644
index 0000000..23f5e51
--- /dev/null
+++ b/pkg/webui/render.go
@@ -0,0 +1,22 @@
+package webui
+
+import (
+ "bytes"
+ "fmt"
+ "html/template"
+ "net/http"
+)
+
+func render(w http.ResponseWriter, t *template.Template, status int, data any) {
+ var buf bytes.Buffer
+ if err := t.ExecuteTemplate(&buf, "base.html", data); err != nil {
+ w.WriteHeader(http.StatusInternalServerError)
+ _, _ = w.Write([]byte(fmt.Sprintf(
+ "%s: failed to execute template: %+v",
+ http.StatusText(http.StatusInternalServerError),
+ err)))
+ } else {
+ w.WriteHeader(status)
+ _, _ = buf.WriteTo(w)
+ }
+}