| 1234567891011121314151617181920212223242526272829303132333435363738 | package middlewareimport (	"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}
 |