Skip to content

Method Override

Method Override middleware reads the overridden method from the request and uses it instead of the original method.

All core middleware lives in the middleware package:

import "github.com/labstack/echo/v5/middleware"
e.Pre(middleware.MethodOverride())

Register Method Override with Echo#Pre, before routing and the CSRF middleware. This prevents a form or query _method value from bypassing a CSRF check.

e := echo.New()
e.Pre(middleware.MethodOverrideWithConfig(middleware.MethodOverrideConfig{
Getter: middleware.MethodFromForm("_method"),
}))

The method can be sourced with MethodFromHeader, MethodFromForm, or MethodFromQuery.

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

Fields from package source
FieldTypeDescriptionSource
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
Functions from package source
TypeSource
func MethodOverride() echo.MiddlewareFunc L44
func MethodOverrideWithConfig(config MethodOverrideConfig) echo.MiddlewareFunc L49
DefaultMethodOverrideConfig = MethodOverrideConfig{
Skipper: DefaultSkipper,
Getter: MethodFromHeader(echo.HeaderXHTTPMethodOverride),
}