aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/nonsense-time.go
diff options
context:
space:
mode:
Diffstat (limited to 'nonsense-time.go')
-rw-r--r--nonsense-time.go16
1 files changed, 14 insertions, 2 deletions
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())
}