Ir al contenido

Method Override

El middleware Method Override lee el método sobrescrito desde el request y lo usa en lugar del método original.

Todo el middleware principal reside en el paquete middleware:

import "github.com/labstack/echo/v5/middleware"
e.Pre(middleware.MethodOverride())
e := echo.New()
e.Pre(middleware.MethodOverrideWithConfig(middleware.MethodOverrideConfig{
Getter: middleware.MethodFromForm("_method"),
}))

El método puede obtenerse con MethodFromHeader, MethodFromForm o MethodFromQuery.

MethodOverrideConfig · github.com/labstack/echo/v5@5196b9b

Las descripciones de los campos se generan a partir de comentarios del código fuente en inglés.

Campos del código fuente
CampoTipoDescripciónFuente
Skipper Skipper Skipper defines a function to skip middleware. L16
Getter MethodOverrideGetter Getter is a function that gets overridden method from the request. Optional. Default values MethodFromHeader(echo.HeaderXHTTPMethodOverride). L20
Funciones del código fuente
TipoFuente
func MethodOverride() echo.MiddlewareFunc L44
func MethodOverrideWithConfig(config MethodOverrideConfig) echo.MiddlewareFunc L49
DefaultMethodOverrideConfig = MethodOverrideConfig{
Skipper: DefaultSkipper,
Getter: MethodFromHeader(echo.HeaderXHTTPMethodOverride),
}

Actualización de seguridad de Echo (v5.4.0 / v4.16.0)

Sección titulada «Actualización de seguridad de Echo (v5.4.0 / v4.16.0)»

Registra MethodOverride con Echo#Pre, antes del enrutamiento y del middleware CSRF. Un POST ya no puede convertirse en GET, HEAD, OPTIONS, TRACE ni CONNECT; si se solicita uno de esos métodos, la petición sigue siendo POST.