package main import ( "go-udemy-web-1/internal/config" "go-udemy-web-1/internal/handlers" "net/http" "github.com/go-chi/chi/v5" "github.com/go-chi/chi/v5/middleware" ) func routes(app *config.AppConfig) http.Handler { mux := chi.NewMux() mux.Use(middleware.Recoverer) mux.Use(WriteToConsole) mux.Use(NoSurf) // XXX: Maybe this middleware makes that I don't have to r.ParseForm before Get the elements. mux.Use(SessionLoad) mux.Get("/", handlers.Repo.Home) mux.Get("/about", handlers.Repo.About) mux.Get("/contact", handlers.Repo.Contact) mux.Get("/generals-quarters", handlers.Repo.Generals) mux.Get("/majors-suite", handlers.Repo.Majors) mux.Get("/availability", handlers.Repo.Availability) mux.Post("/availability", handlers.Repo.PostAvailability) mux.Post("/availability-json", handlers.Repo.AvailabilityJSON) mux.Get("/make-reservation", handlers.Repo.MakeReservation) mux.Post("/make-reservation", handlers.Repo.PostMakeReservation) mux.Get("/reservation-summary", handlers.Repo.ReservationSummary) mux.Get("/choose-room/{id}", handlers.Repo.ChooseRoom) mux.Get("/book-room", handlers.Repo.BookRoom) fileServer := http.FileServer(http.Dir("./static/")) mux.Handle("/static/*", http.StripPrefix("/static", fileServer)) return mux }