summaryrefslogtreecommitdiffstats
path: root/modules/context
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2022-03-10 20:23:15 +0000
committerGitHub <noreply@github.com>2022-03-10 20:23:15 +0000
commita0db075f21e961b687221a8b9ed9defb26d2624e (patch)
treed5b24f6bf6423aa290b495e2d2ac8e9e3771f376 /modules/context
parentba470a85dd657c586aa07bd5bb4010b93aa8dfa9 (diff)
downloadgitea-a0db075f21e961b687221a8b9ed9defb26d2624e.tar.gz
gitea-a0db075f21e961b687221a8b9ed9defb26d2624e.zip
If rendering has failed due to a net.OpError stop rendering (attempt 2) (#19049)
Unfortunately #18642 does not work because a `*net.OpError` does not implement the `Is` interface to make `errors.Is` work correctly - thus leading to the irritating conclusion that a `*net.OpError` is not a `*net.OpError`. Here we keep the `errors.Is` because presumably this will be fixed at some point in the golang main source code but also we add a simply type cast to also check. Fix #18629 Signed-off-by: Andrew Thornton <art27@cantab.net>
Diffstat (limited to 'modules/context')
-rw-r--r--modules/context/context.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/modules/context/context.go b/modules/context/context.go
index 6aeeb9e694..8e50e154a1 100644
--- a/modules/context/context.go
+++ b/modules/context/context.go
@@ -269,7 +269,7 @@ func (ctx *Context) ServerError(logMsg string, logErr error) {
func (ctx *Context) serverErrorInternal(logMsg string, logErr error) {
if logErr != nil {
log.ErrorWithSkip(2, "%s: %v", logMsg, logErr)
- if errors.Is(logErr, &net.OpError{}) {
+ if _, ok := logErr.(*net.OpError); ok || errors.Is(logErr, &net.OpError{}) {
// This is an error within the underlying connection
// and further rendering will not work so just return
return