From 13bf91ba7d202a53827170268c19583d38e6ce6b Mon Sep 17 00:00:00 2001 From: Lucas Schumacher Date: Thu, 1 Aug 2024 09:56:00 -0400 Subject: [PATCH] Move static template helper func to controllers package --- controllers/static.go | 20 ++++++++++++++++++++ main.go | 23 ++++------------------- 2 files changed, 24 insertions(+), 19 deletions(-) create mode 100644 controllers/static.go diff --git a/controllers/static.go b/controllers/static.go new file mode 100644 index 0000000..fe88011 --- /dev/null +++ b/controllers/static.go @@ -0,0 +1,20 @@ +package controllers + +import ( + "git.kealoha.me/lks/lenslocked/templates" + "git.kealoha.me/lks/lenslocked/views" + "net/http" + "strings" +) + +func StaticTemplate(templatePath string) http.HandlerFunc { + tpl := views.Must(views.FromFS(templates.FS, templatePath)) + + var testWriter strings.Builder + err := tpl.ExecuteWriter(&testWriter, nil) + if err != nil { + panic(err) + } + + return func(w http.ResponseWriter, r *http.Request) { tpl.Execute(w, nil) } +} diff --git a/main.go b/main.go index 2c1d0bf..1c3e11d 100644 --- a/main.go +++ b/main.go @@ -3,27 +3,12 @@ package main import ( "fmt" "net/http" - "strings" + ctrlrs "git.kealoha.me/lks/lenslocked/controllers" "github.com/go-chi/chi/v5" "github.com/go-chi/chi/v5/middleware" - - "git.kealoha.me/lks/lenslocked/templates" - "git.kealoha.me/lks/lenslocked/views" ) -func parseStaticTemplate(templatePath string) http.HandlerFunc { - tpl := views.Must(views.FromFS(templates.FS, templatePath)) - - var testWriter strings.Builder - err := tpl.ExecuteWriter(&testWriter, nil) - if err != nil { - panic(err) - } - - return func(w http.ResponseWriter, r *http.Request) { tpl.Execute(w, nil) } -} - func notFoundHandler(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "text/html; charset=utf8") w.WriteHeader(http.StatusNotFound) @@ -33,9 +18,9 @@ func notFoundHandler(w http.ResponseWriter, r *http.Request) { func main() { r := chi.NewRouter() r.Use(middleware.Logger) - r.Get("/", parseStaticTemplate("home.gohtml")) - r.Get("/contact", parseStaticTemplate("contact.gohtml")) - r.Get("/faq", parseStaticTemplate("faq.gohtml")) + r.Get("/", ctrlrs.StaticTemplate("home.gohtml")) + r.Get("/contact", ctrlrs.StaticTemplate("contact.gohtml")) + r.Get("/faq", ctrlrs.StaticTemplate("faq.gohtml")) r.NotFound(notFoundHandler) fmt.Println("Starting the server on :3000...") http.ListenAndServe(":3000", r)