From b3adf57af3c73988f1882e52cd8a9cb93df2fd72 Mon Sep 17 00:00:00 2001
From: Alex Scerba <alex@scerba.org>
Date: Mon, 28 Oct 2024 11:38:15 -0400
Subject: Switch to generic "page" function

---
 cmd/http/handle.go | 74 ++++++++++++++++++------------------------------------
 1 file changed, 25 insertions(+), 49 deletions(-)

diff --git a/cmd/http/handle.go b/cmd/http/handle.go
index a8b1da1..ce0e8c0 100644
--- a/cmd/http/handle.go
+++ b/cmd/http/handle.go
@@ -24,80 +24,56 @@ func (app *application) home(w http.ResponseWriter, r *http.Request) {
 	}
 }
 
-func (app *application) faq(w http.ResponseWriter, r *http.Request) {
+func (app *application) page(w http.ResponseWriter, r *http.Request) {
 	w.Header().Set("Content-Type", "text/html; charset=utf-8")
 
 	path := strings.Split(r.URL.Path, "/")
-	if path[1] != "faq" {
-		app.notFound(w)
-	} else {
-		err := renderTemplate(w, "faq", nil)
-		if err != nil {
-			app.serverError(w, err)
-		}
+
+	/* Redirect paths like /about/sth/oeusth to /about */
+	if len(path) > 2 {
+		http.Redirect(w, r, "/"+path[1], http.StatusFound)
+	}
+
+	err := renderTemplate(w, path[1], nil)
+	if err != nil {
+		app.serverError(w, err)
 	}
 }
 
-func (app *application) about(w http.ResponseWriter, r *http.Request) {
+/*
+func (app *application) blog(w http.ResponseWriter, r *http.Request) {
 	w.Header().Set("Content-Type", "text/html; charset=utf-8")
 
 	path := strings.Split(r.URL.Path, "/")
-	if path[1] != "about" {
+	if path[1] != "blog" {
 		app.notFound(w)
 	} else {
-		err := renderTemplate(w, "about", nil)
+		err := renderTemplate(w, "blog", nil)
 		if err != nil {
 			app.serverError(w, err)
 		}
 	}
-}
-
-func (app *application) gallery(w http.ResponseWriter, r *http.Request) {
-	w.Header().Set("Content-Type", "text/html; charset=utf-8")
 
-	path := strings.Split(r.URL.Path, "/")
-	if path[1] != "gallery" {
+	if len(path) > 4 {
 		app.notFound(w)
+	} else if len(path) == 4 && path[3] == "" {
+		http.Redirect(w, r, "/"+path[1]+"/"+path[2], http.StatusFound)
 	} else {
-		err := renderTemplate(w, "gallery", nil)
+		post, err := app.readFile("html" + strings.TrimSuffix(r.URL.Path, "/") + ".tmpl.html")
 		if err != nil {
-			app.serverError(w, err)
+			app.notFound(w)
+			return
 		}
-	}
-}
 
-func (app *application) blog(w http.ResponseWriter, r *http.Request) {
-	w.Header().Set("Content-Type", "text/html; charset=utf-8")
+		var posts []*Post
+		posts = append(posts, post)
+		p := &Posts{Contents: posts}
 
-	path := strings.Split(r.URL.Path, "/")
-	if path[1] != "blog" {
-		app.notFound(w)
-	} else {
-		err := renderTemplate(w, "blog", nil)
+		err = renderTemplate(w, path[1]+"/"+path[2], p)
 		if err != nil {
 			app.serverError(w, err)
 		}
 	}
-	/*
-		 	if len(path) > 4 {
-				app.notFound(w)
-			} else if len(path) == 4 && path[3] == "" {
-				http.Redirect(w, r, "/"+path[1]+"/"+path[2], http.StatusFound)
-			} else {
-				post, err := app.readFile("html" + strings.TrimSuffix(r.URL.Path, "/") + ".tmpl.html")
-				if err != nil {
-					app.notFound(w)
-					return
-				}
-
-				var posts []*Post
-				posts = append(posts, post)
-				p := &Posts{Contents: posts}
 
-				err = renderTemplate(w, path[1]+"/"+path[2], p)
-				if err != nil {
-					app.serverError(w, err)
-				}
-			}
-	*/
 }
+*/
-- 
cgit v1.2.3