Pular para o conteúdo

Recover

O middleware Recover recupera panics em qualquer ponto da cadeia, imprime a stack trace e passa o controle para o HTTPErrorHandler centralizado.

Todo o middleware principal fica no pacote middleware:

import "github.com/labstack/echo/v5/middleware"
e.Use(middleware.Recover())
e := echo.New()
e.Use(middleware.RecoverWithConfig(middleware.RecoverConfig{
StackSize: 1 << 10, // 1 KB
}))

O exemplo acima usa um StackSize de 1 KB e valores padrão para DisableStackAll e DisablePrintStack.

RecoverConfig · github.com/labstack/echo/[email protected]

As descrições dos campos são geradas dos comentários do código-fonte em inglês.

Campos do código-fonte
CampoTipoDescriçãoCódigo
SkipperSkipperSkipper defines a function to skip middleware.L17
StackSizeintSize of the stack to be printed. Optional. Default value 4KB.L21
DisableStackAllboolDisableStackAll disables formatting stack traces of all other goroutines into buffer after the trace for the current goroutine. Optional. Default value false.L26
DisablePrintStackboolDisablePrintStack disables printing stack trace. Optional. Default value as false.L30
Funções do código-fonte
TipoCódigo
func Recover() echo.MiddlewareFuncL43
func RecoverWithConfig(config RecoverConfig) echo.MiddlewareFuncL48
var DefaultRecoverConfig = RecoverConfig{
Skipper: DefaultSkipper,
StackSize: 4 << 10, // 4 KB
DisableStackAll: false,
DisablePrintStack: false,
}