1
0
mirror of https://github.com/osmarks/mycorrhiza.git synced 2024-10-30 03:36:16 +00:00

Sending a 404 status if there is no content on the page

Probably a hack. I'm not sure how it should be done normally, but I have no other idea how to do it.
This commit is contained in:
hugmouse 2021-03-05 20:20:51 +08:00
parent df9ee15a7f
commit 416c606e6d
No known key found for this signature in database
GPG Key ID: E2C8CCA3392D75BD
2 changed files with 22 additions and 6 deletions

View File

@ -112,6 +112,14 @@ func handlerHypha(w http.ResponseWriter, rq *http.Request) {
contents = views.AttachmentHTML(h) + contents
}
}
if contents == "" {
util.HTTP404Page(w,
views.BaseHTML(
util.BeautifulName(hyphaName),
views.HyphaHTML(rq, h, contents),
u,
openGraph))
} else {
util.HTTP200Page(w,
views.BaseHTML(
util.BeautifulName(hyphaName),
@ -119,3 +127,4 @@ func handlerHypha(w http.ResponseWriter, rq *http.Request) {
u,
openGraph))
}
}

View File

@ -53,6 +53,13 @@ func ShorterPath(path string) string {
return path
}
// HTTP404Page writes a 404 error in the status, needed when no content is found on the page.
func HTTP404Page(w http.ResponseWriter, page string) {
w.Header().Set("Content-Type", "text/html;charset=utf-8")
w.WriteHeader(http.StatusNotFound)
w.Write([]byte(page))
}
// HTTP200Page wraps some frequently used things for successful 200 responses.
func HTTP200Page(w http.ResponseWriter, page string) {
w.Header().Set("Content-Type", "text/html;charset=utf-8")