From bd6f2159931b5877922efed11f7ea9c54b172379 Mon Sep 17 00:00:00 2001 From: JP Appel Date: Tue, 15 Oct 2024 23:56:50 -0400 Subject: Add authentication middleware --- nonsense-time.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'nonsense-time.go') diff --git a/nonsense-time.go b/nonsense-time.go index f148266..cd987e9 100644 --- a/nonsense-time.go +++ b/nonsense-time.go @@ -6,6 +6,7 @@ import ( "log/slog" "net/http" "nonsense-time/api" + "nonsense-time/db" "nonsense-time/middleware" "os" "time" @@ -49,14 +50,25 @@ func main() { logger = slog.New(slog.NewTextHandler(os.Stdout, loggerOpts)) api.Logger = logger + db.Logger = logger vtt := middleware.Timeout(http.HandlerFunc(api.VttOnline), *waitTime) - vttLogs := middleware.Gzip(http.HandlerFunc(api.VttLogs)) + vttLogs := middleware.Log(middleware.Gzip(http.HandlerFunc(api.VttLogs)), logger) + + authProvider := db.NewDBAuthProvider(db.New()) + + vttStart := middleware.Log(middleware.BasicAuth(http.HandlerFunc(api.VttStart), authProvider), logger) + vttStop := middleware.Log(middleware.BasicAuth(http.HandlerFunc(api.VttStop), authProvider), logger) + vttRestart := middleware.Log(middleware.BasicAuth(http.HandlerFunc(api.VttRestart), authProvider), logger) - mux.Handle("GET /vtt/status", vtt) mux.HandleFunc("GET /vtt", api.VttRedirect) + mux.Handle("GET /vtt/status", vtt) mux.Handle("GET /vtt/logs", vttLogs) + mux.Handle("POST /vtt", vttStart) + mux.Handle("DELETE /vtt", vttStop) + mux.Handle("PUT /vtt", vttRestart) + logger.Info(fmt.Sprint("Listening on ", addr)) logger.Info(http.ListenAndServe(addr, mux).Error()) } -- cgit v1.2.3