MCPcopy
hub / github.com/labstack/echo / ToMiddleware

Method ToMiddleware

middleware/rewrite.go:54–79  ·  view source on GitHub ↗

ToMiddleware converts RewriteConfig to middleware or returns an error for invalid configuration

()

Source from the content-addressed store, hash-verified

52
53// ToMiddleware converts RewriteConfig to middleware or returns an error for invalid configuration
54func (config RewriteConfig) ToMiddleware() (echo.MiddlewareFunc, error) {
55 if config.Skipper == nil {
56 config.Skipper = DefaultSkipper
57 }
58 if config.Rules == nil && config.RegexRules == nil {
59 return nil, errors.New("echo rewrite middleware requires url path rewrite rules or regex rules")
60 }
61
62 if config.RegexRules == nil {
63 config.RegexRules = make(map[*regexp.Regexp]string)
64 }
65 maps.Copy(config.RegexRules, rewriteRulesRegex(config.Rules))
66
67 return func(next echo.HandlerFunc) echo.HandlerFunc {
68 return func(c *echo.Context) (err error) {
69 if config.Skipper(c) {
70 return next(c)
71 }
72
73 if err := rewriteURL(config.RegexRules, c.Request()); err != nil {
74 return err
75 }
76 return next(c)
77 }
78 }, nil
79}

Callers

nothing calls this directly

Calls 3

rewriteRulesRegexFunction · 0.85
rewriteURLFunction · 0.85
RequestMethod · 0.80

Tested by

no test coverage detected