From 43fb4921e3fb67be9f2f3a6d631a21a3322f492b Mon Sep 17 00:00:00 2001 From: a1012112796 <1012112796@qq.com> Date: Thu, 1 Apr 2021 23:11:42 +0800 Subject: [PATCH] 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> --- modules/context/context.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/modules/context/context.go b/modules/context/context.go index eecc81406..a78403260 100644 --- a/modules/context/context.go +++ b/modules/context/context.go @@ -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"))