aboutsummaryrefslogtreecommitdiff
path: root/page/renderMarkdown.go
diff options
context:
space:
mode:
Diffstat (limited to 'page/renderMarkdown.go')
-rw-r--r--page/renderMarkdown.go32
1 files changed, 7 insertions, 25 deletions
diff --git a/page/renderMarkdown.go b/page/renderMarkdown.go
index 7a365e6..8356e55 100644
--- a/page/renderMarkdown.go
+++ b/page/renderMarkdown.go
@@ -5,19 +5,14 @@ import (
"errors"
"io/fs"
"net/http"
- "path/filepath"
)
// RenderMarkdown is analogous to Render, except it spits out rendered markdown
// as text/plain. It also sets .Vars.RenderingMarkdownOnly so templates can
// vary on whether or not they're plain markdown. For instance, not including
-// some HTML tags
+// some HTML tags.
func RenderMarkdown(w http.ResponseWriter, r *http.Request,
path string, vars map[string]interface{}, statusCode int) {
- u := getURLPath(r)
-
- u = filepath.Join(".", u)
-
// Sepcifically use the specified path for the page
p := NewPage(path)
@@ -38,21 +33,13 @@ func RenderMarkdown(w http.ResponseWriter, r *http.Request,
err := p.Render(buf)
if err != nil {
if errors.Is(err, fs.ErrNotExist) {
- w.WriteHeader(http.StatusNotFound)
- w.Header().Set("Content-type", "text/plain")
- w.Write([]byte("Not found"))
+ plainResp(w, http.StatusNotFound, "Not found")
return
}
- Logger.Printf("%s %s path: %s rendering encountered: %s",
- r.RemoteAddr,
- r.Method,
- u,
- err)
- w.WriteHeader(http.StatusInternalServerError)
- w.Header().Set("Content-type", "text/plain")
- w.Write([]byte("Internal server error"))
+ logErr(r, "while rendering", err)
+ plainResp(w, http.StatusInternalServerError, "Internal server error")
return
}
@@ -60,20 +47,15 @@ func RenderMarkdown(w http.ResponseWriter, r *http.Request,
// Error was handled above
md, _ := p.GetMarkdown()
- w.WriteHeader(statusCode)
w.Header().Set("Content-type", "text/plain")
+ w.WriteHeader(statusCode)
_, err = w.Write([]byte(md))
if err != nil {
- Logger.Printf("%s %s %d %s: while writing buf: %s",
- r.RemoteAddr,
- r.Method,
- statusCode,
- u,
- err)
+ logErr(r, "while writing buf", err)
return
}
- Logger.Printf("%s %s %d %s", r.RemoteAddr, r.Method, statusCode, u)
+ logReq(r, statusCode)
}