udemy-go-web-1/cmd/web/routes.go

40 lines
1.3 KiB
Go
Raw Normal View History

2024-06-28 10:59:47 +00:00
package main
import (
2024-06-30 14:41:46 +00:00
"go-udemy-web-1/internal/config"
"go-udemy-web-1/internal/handlers"
2024-06-28 10:59:47 +00:00
"net/http"
2024-06-28 11:14:05 +00:00
"github.com/go-chi/chi/v5"
"github.com/go-chi/chi/v5/middleware"
2024-06-28 10:59:47 +00:00
)
func routes(app *config.AppConfig) http.Handler {
2024-06-28 11:14:05 +00:00
mux := chi.NewMux()
2024-06-28 10:59:47 +00:00
2024-06-28 11:14:05 +00:00
mux.Use(middleware.Recoverer)
2024-06-28 11:33:43 +00:00
mux.Use(WriteToConsole)
2024-07-13 16:19:51 +00:00
mux.Use(NoSurf) // XXX: Maybe this middleware makes that I don't have to r.ParseForm before Get the elements.
mux.Use(SessionLoad)
2024-06-28 11:14:05 +00:00
mux.Get("/", handlers.Repo.Home)
mux.Get("/about", handlers.Repo.About)
2024-06-29 19:30:06 +00:00
mux.Get("/contact", handlers.Repo.Contact)
mux.Get("/generals-quarters", handlers.Repo.Generals)
mux.Get("/majors-suite", handlers.Repo.Majors)
2024-06-30 08:51:29 +00:00
mux.Get("/availability", handlers.Repo.Availability)
mux.Post("/availability", handlers.Repo.PostAvailability)
mux.Post("/availability-json", handlers.Repo.AvailabilityJSON)
2024-06-29 19:30:06 +00:00
mux.Get("/make-reservation", handlers.Repo.MakeReservation)
2024-06-30 15:08:47 +00:00
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)
mux.Get("/user/login", handlers.Repo.ShowLogin)
2024-06-28 10:59:47 +00:00
2024-06-28 20:30:19 +00:00
fileServer := http.FileServer(http.Dir("./static/"))
mux.Handle("/static/*", http.StripPrefix("/static", fileServer))
2024-06-28 10:59:47 +00:00
return mux
}