feat: add track duplicate route names
This commit is contained in:
@@ -44,6 +44,13 @@ func (gatewayServer GatewayServer) Initialize() *mux.Router {
|
||||
}
|
||||
dynamicRoutes = append(dynamicRoutes, extraRoutes...)
|
||||
}
|
||||
//find duplicated route name
|
||||
duplicates := findDuplicateRouteNames(dynamicRoutes)
|
||||
if len(duplicates) != 0 {
|
||||
for _, duplicate := range duplicates {
|
||||
logger.Error("Duplicate route name found: %s ", duplicate)
|
||||
}
|
||||
}
|
||||
m := gatewayServer.middlewares
|
||||
redisBased := false
|
||||
if len(gateway.Redis.Addr) != 0 {
|
||||
|
||||
@@ -53,3 +53,18 @@ func loadExtraRoutes(routePath string) ([]Route, error) {
|
||||
}
|
||||
return extraRoutes, nil
|
||||
}
|
||||
|
||||
func findDuplicateRouteNames(routes []Route) []string {
|
||||
// Create a map to track occurrences of names
|
||||
nameMap := make(map[string]int)
|
||||
var duplicates []string
|
||||
|
||||
for _, route := range routes {
|
||||
nameMap[route.Name]++
|
||||
// If the count is ==2, it's a duplicate
|
||||
if nameMap[route.Name] == 2 {
|
||||
duplicates = append(duplicates, route.Name)
|
||||
}
|
||||
}
|
||||
return duplicates
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user