This repository has been archived on 2025-08-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
web-app-template/handler/default.go
Tim Wundenberg ab3b255b92
Some checks failed
Build Docker Image / Explore-Gitea-Actions (push) Has been cancelled
fix: restructure handler yet again #181
2024-09-18 21:28:53 +02:00

35 lines
900 B
Go

package handler
import (
"me-fit/middleware"
"me-fit/service"
"database/sql"
"net/http"
)
func GetHandler(db *sql.DB) http.Handler {
var router = http.NewServeMux()
router.HandleFunc("/", service.HandleIndexAnd404(db))
// Serve static files (CSS, JS and images)
router.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("./static/"))))
router.Handle("/auth/", authUi(db))
router.Handle("/api/auth/", authApi(db))
router.Handle("/workout", auth(db, workoutUi(db)))
router.Handle("/api/workout", auth(db, workoutApi(db)))
// Needed a second time with trailing slash, otherwise either /api/workout or /api/workout/{id} does not match
router.Handle("/api/workout/", auth(db, workoutApi(db)))
return middleware.Logging(
middleware.EnableCors(
router))
}
func auth(db *sql.DB, h http.Handler) http.Handler {
return middleware.EnsureValidSession(db, h)
}