response simple text message for not html request when 404 (#15229)

* response simple text message for not html request when response 404

Signed-off-by: a1012112796 <1012112796@qq.com>
release/v1.15
a1012112796 2021-04-01 23:11:42 +08:00 committed by GitHub
parent 9b316a327e
commit 43fb4921e3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 17 additions and 0 deletions

View File

@ -229,6 +229,23 @@ func (ctx *Context) notFoundInternal(title string, err error) {
}
}
// response simple meesage if Accept isn't text/html
reqTypes, has := ctx.Req.Header["Accept"]
if has && len(reqTypes) > 0 {
notHTML := true
for _, part := range reqTypes {
if strings.Contains(part, "text/html") {
notHTML = false
break
}
}
if notHTML {
ctx.PlainText(404, []byte("Not found.\n"))
return
}
}
ctx.Data["IsRepo"] = ctx.Repo.Repository != nil
ctx.Data["Title"] = "Page Not Found"
ctx.HTML(http.StatusNotFound, base.TplName("status/404"))