diff options
Diffstat (limited to '')
-rw-r--r-- | go.mod | 1 | ||||
-rw-r--r-- | go.sum | 2 | ||||
-rw-r--r-- | main.go | 16 |
3 files changed, 17 insertions, 2 deletions
@@ -3,6 +3,7 @@ module gosten go 1.22 require ( + github.com/go-chi/chi/v5 v5.0.11 github.com/mattn/go-sqlite3 v1.14.22 modernc.org/sqlite v1.28.0 ) @@ -1,5 +1,7 @@ github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/go-chi/chi/v5 v5.0.11 h1:BnpYbFZ3T3S1WMpD79r7R5ThWX40TaFB7L31Y8xqSwA= +github.com/go-chi/chi/v5 v5.0.11/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ= @@ -11,6 +11,9 @@ import ( "gosten/model" "gosten/templ" + + "github.com/go-chi/chi/v5" + "github.com/go-chi/chi/v5/middleware" ) // flags @@ -35,10 +38,19 @@ func main() { queries := model.New(db) _, err = queries.GetUsers(context.Background()) - http.HandleFunc("/", func(w http.ResponseWriter, _ *http.Request) { + r := chi.NewRouter() + + // A good base middleware stack + r.Use(middleware.RequestID) + r.Use(middleware.RealIP) + r.Use(middleware.CleanPath) + r.Use(middleware.Logger) + r.Use(middleware.Recoverer) + + r.Get("/", func(w http.ResponseWriter, _ *http.Request) { templ.Lookup("index").Execute(w, nil) }) address := net.JoinHostPort(host, strconv.FormatUint(port, 10)) - log.Fatal(http.ListenAndServe(address, nil)) + log.Fatal(http.ListenAndServe(address, r)) } |