website/pkg/controller/index/static.go

22 lines
569 B
Go

package index
import (
"net/http"
"code.nonshy.com/nonshy/website/pkg/templates"
)
// StaticTemplate creates a simple controller that loads a Go html/template
// such as "about.html" relative to the web/templates path.
func StaticTemplate(filename string) func() http.HandlerFunc {
return func() http.HandlerFunc {
tmpl := templates.Must(filename)
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
if err := tmpl.Execute(w, r, nil); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
})
}
}