Files
goma-gateway/pkg/middleware.go

48 lines
965 B
Go
Raw Normal View History

2024-10-27 06:10:27 +01:00
package pkg
import (
"errors"
"github.com/gorilla/mux"
"slices"
"strings"
)
func getMiddleware(rules []string, middlewares []Middleware) (Middleware, error) {
2024-10-27 06:10:27 +01:00
for _, m := range middlewares {
if slices.Contains(rules, m.Name) {
return m, nil
}
continue
}
return Middleware{}, errors.New("middleware not found with name: [" + strings.Join(rules, ";") + "]")
2024-10-27 06:10:27 +01:00
}
type RoutePath struct {
route Route
path string
rules []string
middlewares []Middleware
router *mux.Router
}
func doesExist(tyName string) bool {
middlewareList := []string{BasicAuth, JWTAuth, AccessMiddleware}
if slices.Contains(middlewareList, tyName) {
return true
}
return false
}
2024-10-30 20:48:58 +01:00
func GetMiddleware(rule string, middlewares []Middleware) (Middleware, error) {
for _, m := range middlewares {
if strings.Contains(rule, m.Name) {
return m, nil
}
continue
}
return Middleware{}, errors.New("no middleware found with name " + rule)
}