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/[email protected]

Fields from package source
FieldTypeDescriptionSource
SkipperSkipperSkipper defines a function to skip middleware.L16
GetterMethodOverrideGetterGetter 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.MiddlewareFuncL44
func MethodOverrideWithConfig(config MethodOverrideConfig) echo.MiddlewareFuncL49
DefaultMethodOverrideConfig = MethodOverrideConfig{
Skipper: DefaultSkipper,
Getter: MethodFromHeader(echo.HeaderXHTTPMethodOverride),
}