diff options
author | Alex Scerba <alex@scerba.org> | 2024-10-28 11:38:15 -0400 |
---|---|---|
committer | Alex Scerba <alex@scerba.org> | 2024-10-28 11:38:15 -0400 |
commit | b3adf57af3c73988f1882e52cd8a9cb93df2fd72 (patch) | |
tree | 3e88269076e69df1d12fd6ac6532c2669917f2cc /cmd/http/handle.go | |
parent | b1aeedd49129a4a9e9d20e58a0b8e563b27f284c (diff) |
Switch to generic "page" function
Diffstat (limited to 'cmd/http/handle.go')
-rw-r--r-- | cmd/http/handle.go | 74 |
1 files 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) - } - } - */ } +*/ |