aboutsummaryrefslogtreecommitdiff
path: root/cmd/web/handlers/routes.go
diff options
context:
space:
mode:
authorSamuel Johnson <[email protected]>2025-11-24 13:53:18 -0500
committerSamuel Johnson <[email protected]>2025-11-24 13:53:18 -0500
commit368a462bc744d8e9084eacfaddeb9afcaf7f7133 (patch)
treec6e8f665d6cb9713b9226b10c4a341e60b8e91c2 /cmd/web/handlers/routes.go
parent4d4419f51557bef6b64dca8635ed61616d262a9b (diff)
Add session management
Diffstat (limited to 'cmd/web/handlers/routes.go')
-rw-r--r--cmd/web/handlers/routes.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/cmd/web/handlers/routes.go b/cmd/web/handlers/routes.go
index e9fd0f5..0196331 100644
--- a/cmd/web/handlers/routes.go
+++ b/cmd/web/handlers/routes.go
@@ -4,15 +4,25 @@ import (
"database/sql"
"net/http"
+ "paterissa.net/mblog/cmd/web/middleware"
"paterissa.net/mblog/cmd/web/types"
)
func RegisterEndpoints(app types.Application, db *sql.DB) *http.ServeMux {
+ auth := middleware.AuthMiddleware{
+ Err: app.Err,
+ Db: db,
+ }
+
blog := blogContext{
err: app.Err,
db: db,
Name: app.Env.Webmaster,
}
+ login := loginContext{
+ err: app.Err,
+ db: db,
+ }
audio := fsContext{
err: app.Err,
path: app.AudioDir,
@@ -26,6 +36,9 @@ func RegisterEndpoints(app types.Application, db *sql.DB) *http.ServeMux {
blogRouter := http.NewServeMux()
blogRouter.HandleFunc("/", blog.index)
+ blogRouter.HandleFunc("/login", login.handle)
+ blogRouter.HandleFunc("/logout", auth.Resolve(login.logout))
+
blogRouter.HandleFunc("/audio", audio.readdir)
blogRouter.HandleFunc("/audio/get", audio.get)