Pular para o conteúdo

Context Timeout

O middleware Context Timeout aplica um timeout ao contexto do request dentro de um período predefinido, para que métodos context-aware possam retornar mais cedo quando o prazo for excedido.

Todo o middleware principal fica no pacote middleware:

import "github.com/labstack/echo/v5/middleware"
e.Use(middleware.ContextTimeout(60 * time.Second))
e.Use(middleware.ContextTimeoutWithConfig(middleware.ContextTimeoutConfig{
Timeout: 60 * time.Second,
}))
type ContextTimeoutConfig struct {
// Skipper defines a function to skip middleware.
Skipper Skipper
// ErrorHandler is a function invoked when an error arises during middleware execution.
ErrorHandler func(c *echo.Context, err error) error
// Timeout configures the timeout for the middleware.
Timeout time.Duration
}
// Effective defaults applied when fields are left unset (Timeout is required).
ContextTimeoutConfig{
Skipper: DefaultSkipper,
}