Explorar o código

Error middleware does not write if the it is already written

Manu Mtz-Almeida %!s(int64=10) %!d(string=hai) anos
pai
achega
dcdf7b92f4
Modificáronse 1 ficheiros con 5 adicións e 4 borrados
  1. 5 4
      logger.go

+ 5 - 4
logger.go

@@ -29,10 +29,11 @@ func ErrorLoggerT(typ uint32) HandlerFunc {
 	return func(c *Context) {
 		c.Next()
 
-		errs := c.Errors.ByType(typ)
-		if len(errs) > 0 {
-			// -1 status code = do not change current one
-			c.JSON(-1, c.Errors)
+		if !c.Writer.Written() {
+			errs := c.Errors.ByType(typ)
+			if len(errs) > 0 {
+				c.JSON(-1, c.Errors)
+			}
 		}
 	}
 }