Ignore TCP errors (#601)

This commit is contained in:
Nova Cat
2026-01-26 21:49:37 -08:00
committed by GitHub
parent 145bf9d81a
commit 1128a81071

View File

@@ -8,6 +8,7 @@ import (
"path/filepath"
"regexp"
"strings"
"syscall"
"time"
"github.com/labstack/echo-contrib/echoprometheus"
@@ -90,21 +91,33 @@ func (s *Server) errorHandler(err error, ctx echo.Context) {
data["error"] = err
if acceptJson {
if err := ctx.JSON(httpErr.Code, httpErr); err != nil {
if errors.Is(err, syscall.EPIPE) || errors.Is(err, syscall.ECONNRESET) {
return
}
log.Fatal().Err(err).Send()
}
return
}
if err := ctx.Render(httpErr.Code, "error", data); err != nil {
if errors.Is(err, syscall.EPIPE) || errors.Is(err, syscall.ECONNRESET) {
return
}
log.Fatal().Err(err).Send()
}
return
}
if errors.Is(err, syscall.EPIPE) || errors.Is(err, syscall.ECONNRESET) {
return
}
log.Error().Err(err).Send()
httpErr = echo.NewHTTPError(http.StatusInternalServerError, err.Error())
data["error"] = httpErr
if err := ctx.Render(500, "error", data); err != nil {
if errors.Is(err, syscall.EPIPE) || errors.Is(err, syscall.ECONNRESET) {
return
}
log.Fatal().Err(err).Send()
}
}