ifms_go/pkg/middleware/middleware.go
2025-06-10 17:50:46 +08:00

42 lines
705 B
Go

package middleware
import (
"github.com/gin-gonic/gin"
)
func SkippedPathPrefixes(c *gin.Context, prefixes ...string) bool {
if len(prefixes) == 0 {
return false
}
path := c.Request.URL.Path
pathLen := len(path)
for _, p := range prefixes {
if pl := len(p); pathLen >= pl && path[:pl] == p {
return true
}
}
return false
}
func AllowedPathPrefixes(c *gin.Context, prefixes ...string) bool {
if len(prefixes) == 0 {
return true
}
path := c.Request.URL.Path
pathLen := len(path)
for _, p := range prefixes {
if pl := len(p); pathLen >= pl && path[:pl] == p {
return true
}
}
return false
}
func Empty() gin.HandlerFunc {
return func(c *gin.Context) {
c.Next()
}
}