CCTV/cmd/main.go

45 lines
862 B
Go

package main
import (
"net/http"
"time"
"git.neunzweinull.com/jan/CCTV/config"
"git.neunzweinull.com/jan/CCTV/internal"
)
const (
CleanupInterval = 5 * time.Minute
)
func init() {
//Load the env file
config.LoadEnv()
//Initialize the log file
internal.InitLog()
//Initialize the Upload Directory
config.InitUploadDir()
//Start background cleanup for expired bans
go func() {
for {
time.Sleep(CleanupInterval)
internal.CleanupBans()
}
}()
}
func main() {
defer internal.CloseLog()
http.HandleFunc("/", internal.LandingHandler)
http.HandleFunc("/login", internal.LoginHandler)
http.HandleFunc("/dash", internal.AuthClientMiddleware(internal.DashboardHandler))
http.HandleFunc("/upload", internal.AuthMiddleware(internal.UploadHandler))
http.HandleFunc("/health", internal.HealthHandler)
http.ListenAndServe(":8080", nil)
}