diff --git a/foods.db b/foods.db index 4424d75..e06ad13 100644 Binary files a/foods.db and b/foods.db differ diff --git a/server b/server index f8a6942..a28657a 100755 Binary files a/server and b/server differ diff --git a/server.go b/server.go index e5b34ad..00d3595 100644 --- a/server.go +++ b/server.go @@ -8,6 +8,11 @@ import ( "html/template" "log" "net/http" + "time" + + "github.com/go-chi/chi" + "github.com/go-chi/chi/middleware" + "github.com/pkg/errors" ) // User is a user @@ -31,15 +36,18 @@ func main() { vote.GetVotesOfTheDay() - mux := http.NewServeMux() - mux.Handle("/", &User{}) - s := &http.Server{Addr: "localhost" + conf.HTTP.Address, Handler: mux} + r := chi.NewRouter() + r.Use(middleware.Logger) + r.Use(middleware.Recoverer) + r.Use(middleware.Timeout(60 * time.Second)) + r.Handle("/", &User{}) + r.Handle("/results", &User{}) - log.Print("\nready: listening on localhost" + conf.HTTP.Address + "\n") - - if err := s.ListenAndServe(); err != nil { - panic(err) + log.Printf("listening on '%s'", conf.HTTP.Address) + if err := http.ListenAndServe(conf.HTTP.Address, r); err != nil { + panic(errors.Wrapf(err, "error while listening on '%s'", conf.HTTP.Address)) } + } // ServerHTTP is the entry point to all requests