diff options
| author | Mitchell Riedstra <mitch@riedstra.dev> | 2023-01-07 13:31:23 -0500 |
|---|---|---|
| committer | Mitchell Riedstra <mitch@riedstra.dev> | 2023-01-07 13:31:23 -0500 |
| commit | ca33a035c779ae14fb6330c8801c75f49dd1bb79 (patch) | |
| tree | deaabaf15d6d91079a68f247e46070399e4343ee /page/renderMarkdown.go | |
| parent | 97dd660925434be537cd9a49a1d0c893b223e357 (diff) | |
| download | go-website-0.0.22.tar.gz go-website-0.0.22.tar.xz | |
Add an internal caching option. It performs quite well.v0.0.22
Also refactor and clean up most linter warnings.
Diffstat (limited to 'page/renderMarkdown.go')
| -rw-r--r-- | page/renderMarkdown.go | 32 |
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) } |
