aboutsummaryrefslogtreecommitdiff
path: root/cmd/web/handlers/routes.go
diff options
context:
space:
mode:
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)