1234567891011121314151617181920212223242526272829303132333435363738 |
- package middleware
- import (
- "regexp"
- "strconv"
- "strings"
- "github.com/labstack/echo"
- )
- type (
- // Skipper defines a function to skip middleware. Returning true skips processing
- // the middleware.
- Skipper func(echo.Context) bool
- // BeforeFunc defines a function which is executed just before the middleware.
- BeforeFunc func(echo.Context)
- )
- func captureTokens(pattern *regexp.Regexp, input string) *strings.Replacer {
- groups := pattern.FindAllStringSubmatch(input, -1)
- if groups == nil {
- return nil
- }
- values := groups[0][1:]
- replace := make([]string, 2*len(values))
- for i, v := range values {
- j := 2 * i
- replace[j] = "$" + strconv.Itoa(i+1)
- replace[j+1] = v
- }
- return strings.NewReplacer(replace...)
- }
- // DefaultSkipper returns false which processes the middleware.
- func DefaultSkipper(echo.Context) bool {
- return false
- }
|