summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/labstack/echo/middleware/method_override.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/labstack/echo/middleware/method_override.go')
-rw-r--r--vendor/github.com/labstack/echo/middleware/method_override.go88
1 files changed, 0 insertions, 88 deletions
diff --git a/vendor/github.com/labstack/echo/middleware/method_override.go b/vendor/github.com/labstack/echo/middleware/method_override.go
deleted file mode 100644
index 955fd11e..00000000
--- a/vendor/github.com/labstack/echo/middleware/method_override.go
+++ /dev/null
@@ -1,88 +0,0 @@
-package middleware
-
-import "github.com/labstack/echo"
-
-type (
- // MethodOverrideConfig defines the config for MethodOverride middleware.
- MethodOverrideConfig struct {
- // Skipper defines a function to skip middleware.
- Skipper Skipper
-
- // Getter is a function that gets overridden method from the request.
- // Optional. Default values MethodFromHeader(echo.HeaderXHTTPMethodOverride).
- Getter MethodOverrideGetter
- }
-
- // MethodOverrideGetter is a function that gets overridden method from the request
- MethodOverrideGetter func(echo.Context) string
-)
-
-var (
- // DefaultMethodOverrideConfig is the default MethodOverride middleware config.
- DefaultMethodOverrideConfig = MethodOverrideConfig{
- Skipper: DefaultSkipper,
- Getter: MethodFromHeader(echo.HeaderXHTTPMethodOverride),
- }
-)
-
-// MethodOverride returns a MethodOverride middleware.
-// MethodOverride middleware checks for the overridden method from the request and
-// uses it instead of the original method.
-//
-// For security reasons, only `POST` method can be overridden.
-func MethodOverride() echo.MiddlewareFunc {
- return MethodOverrideWithConfig(DefaultMethodOverrideConfig)
-}
-
-// MethodOverrideWithConfig returns a MethodOverride middleware with config.
-// See: `MethodOverride()`.
-func MethodOverrideWithConfig(config MethodOverrideConfig) echo.MiddlewareFunc {
- // Defaults
- if config.Skipper == nil {
- config.Skipper = DefaultMethodOverrideConfig.Skipper
- }
- if config.Getter == nil {
- config.Getter = DefaultMethodOverrideConfig.Getter
- }
-
- return func(next echo.HandlerFunc) echo.HandlerFunc {
- return func(c echo.Context) error {
- if config.Skipper(c) {
- return next(c)
- }
-
- req := c.Request()
- if req.Method == echo.POST {
- m := config.Getter(c)
- if m != "" {
- req.Method = m
- }
- }
- return next(c)
- }
- }
-}
-
-// MethodFromHeader is a `MethodOverrideGetter` that gets overridden method from
-// the request header.
-func MethodFromHeader(header string) MethodOverrideGetter {
- return func(c echo.Context) string {
- return c.Request().Header.Get(header)
- }
-}
-
-// MethodFromForm is a `MethodOverrideGetter` that gets overridden method from the
-// form parameter.
-func MethodFromForm(param string) MethodOverrideGetter {
- return func(c echo.Context) string {
- return c.FormValue(param)
- }
-}
-
-// MethodFromQuery is a `MethodOverrideGetter` that gets overridden method from
-// the query parameter.
-func MethodFromQuery(param string) MethodOverrideGetter {
- return func(c echo.Context) string {
- return c.QueryParam(param)
- }
-}