diff options
| author | Samuel Johnson <[email protected]> | 2025-11-24 13:53:18 -0500 |
|---|---|---|
| committer | Samuel Johnson <[email protected]> | 2025-11-24 13:53:18 -0500 |
| commit | 368a462bc744d8e9084eacfaddeb9afcaf7f7133 (patch) | |
| tree | c6e8f665d6cb9713b9226b10c4a341e60b8e91c2 /cmd/web/handlers/routes.go | |
| parent | 4d4419f51557bef6b64dca8635ed61616d262a9b (diff) | |
Add session management
Diffstat (limited to 'cmd/web/handlers/routes.go')
| -rw-r--r-- | cmd/web/handlers/routes.go | 13 |
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) |
