diff --git a/internal/web/server/middlewares.go b/internal/web/server/middlewares.go index 834eed5..ceb24e5 100644 --- a/internal/web/server/middlewares.go +++ b/internal/web/server/middlewares.go @@ -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() } }