summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.eu>2024-10-03 23:27:10 +0200
committerRené 'Necoro' Neumann <necoro@necoro.eu>2024-10-03 23:27:10 +0200
commit0f5a6c5e12aa10779d41eb67394645bad3aabb13 (patch)
treeba0d62b92e395ebcc1b61f44fa945762ad672477 /main.go
parentb731258e18504ce41ba96ff890c96a385e7a3347 (diff)
downloadgosten-0f5a6c5e12aa10779d41eb67394645bad3aabb13.tar.gz
gosten-0f5a6c5e12aa10779d41eb67394645bad3aabb13.tar.bz2
gosten-0f5a6c5e12aa10779d41eb67394645bad3aabb13.zip
Add "Site not found" functionality
Diffstat (limited to 'main.go')
-rw-r--r--main.go11
1 files changed, 10 insertions, 1 deletions
diff --git a/main.go b/main.go
index 1886736..84dcd6e 100644
--- a/main.go
+++ b/main.go
@@ -47,6 +47,7 @@ func main() {
mux := http.NewServeMux()
+ // handlers that DO NOT require authentification
mux.Handle("GET /login", loginPage())
mux.HandleFunc("POST /login", handleLogin)
mux.Handle("GET /logout", handleLogout())
@@ -57,11 +58,13 @@ func main() {
handler = handlers.CombinedLoggingHandler(os.Stderr, handler)
handler = handlers.ProxyHeaders(handler)
- // the real content, needing authentification
+ // setup authentification
authMux := http.NewServeMux()
mux.Handle("/", RequireAuth(authMux))
+ // handlers that required authentification
authMux.Handle("GET /{$}", indexPage())
+ authMux.Handle("GET /", notfound())
log.Fatal(http.ListenAndServe(os.Getenv("GOSTEN_ADDRESS"), handler))
}
@@ -79,3 +82,9 @@ func indexPage() http.HandlerFunc {
showTemplate(w, "index", u.Name)
}
}
+
+func notfound() http.HandlerFunc {
+ return func(w http.ResponseWriter, r *http.Request) {
+ showTemplate(w, "404", r.RequestURI)
+ }
+}